Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restarting causes values in internal queues to be lost #2

Open
phijor opened this issue May 21, 2019 · 1 comment
Open

Restarting causes values in internal queues to be lost #2

phijor opened this issue May 21, 2019 · 1 comment

Comments

@phijor
Copy link
Contributor

phijor commented May 21, 2019

Values that are put into internal input queues here

for (MetricInputNode* input_node : input_list)
{
for (metricq::TimeValue tv : data)
{
input_node->put(tv);
}
Log::trace() << fmt::format("└── Put data into queue ({:p}), now has length {}",
(void*)input_node, input_node->queue_length());
}

but are still waiting for other values to arrive are lost when restarting the combinator.

@tilsche
Copy link
Contributor

tilsche commented May 24, 2019

I think the idiomatic solution would be to not acknowledge message until their value is no longer needed. That requires a carefully chosen qos setting and a tracking of acknowledgements within the combinator. The latter is not possible with the current metricq/master (maybe with the async-db branch). We also should never send the same value twice in the combinator. So yeah, it's challenging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants