Skip to content

Fix race condition with exporter timeouts #2165

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

Merged
merged 3 commits into from
Mar 28, 2022
Merged

Conversation

lava
Copy link
Member

@lava lava commented Mar 28, 2022

A query gets removed from the list of 'pending' queries
in the index when the corresponding exporter actor goes
DOWN.

However, when the meta index lookup takes long enough the
exporter can time out before the query is added to 'pending'.
We did not check for this condition and thus would add
an already-dead query to 'pending', which of course would
never be able to progress afterwards.

📝 Checklist

  • All user-facing changes have changelog entries.
  • The changes are reflected on docs.tenzir.com/vast, if necessary.
  • The PR description contains instructions for the reviewer, if necessary.

🎯 Review Instructions

@lava lava force-pushed the topic/hanging-exporter branch from 5586dc5 to 57cf9ad Compare March 28, 2022 11:00
A query gets removed from the list of 'pending' queries
in the index when the corresponding exporter actor goes
DOWN.

However, when the meta index lookup takes long enough the
exporter can time out before the query is added to 'pending'.
We did not check for this condition and thus would add
an already-dead query to 'pending', which of course would
never be able to progress afterwards.
@lava lava force-pushed the topic/hanging-exporter branch from 57cf9ad to cf9c5d5 Compare March 28, 2022 11:03
Pass the original sender to the 'atom::internal' continuation
handler in the index, to be able to robustly check for exited
senders also for queries that were scheduled through the
backlog.
@lava lava force-pushed the topic/hanging-exporter branch from 3875591 to c84cb6b Compare March 28, 2022 12:02
Copy link
Contributor

@dispanser dispanser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lava walked me through the changes, and the explanation makes sense to me.

@lava lava merged commit ee44a7f into v1.1.x Mar 28, 2022
@lava lava deleted the topic/hanging-exporter branch March 28, 2022 13:56
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

Successfully merging this pull request may close these issues.

2 participants