-
Notifications
You must be signed in to change notification settings - Fork 851
Bug fix/print on violated block ordering #21743
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
Conversation
arangod/Aql/ExecutionEngine.cpp
Outdated
for (auto it2 = _blocks.rbegin(); it2 != _blocks.rend(); ++it2) { | ||
LOG_TOPIC("a6c2d", WARN, Logger::AQL) << (*it2)->printBlockAndDependenciesInfo(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe print this only once, even if multiple blocks violate the assumption?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed!
// We have a dependency that has already been seen, we need to log this | ||
// situation in theory this could lead to deadlocks. Some Blocks are | ||
// fine we just want to see those here. | ||
// Gather Nodes are known to violate this, but they are safe. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we not do the warning for gather nodes then, to not spam the log with warnings?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to point you to the following line:
seenDependency != nullptr && block->getPlanNode()->getType() != ExecutionNode::GATHER) {
;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…starting async tasks although we already stopped them
* sleeping barber in SharedQueryState * double entry in change log * Add oskar branch parameter to CircleCI * disable vector index on ARM for now, faiss is known to be crashy now. (#21718) * disable vector index on ARM for now, faiss is known to be crashy now. * lint * lint * disable on ARM * disable on ARM --------- Co-authored-by: Vadim Kondratev <vadim@arangodb.com> Co-authored-by: Wilfried Goesgens <willi@arangodb.com>
…olated-block-ordering
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* Added printing for violation of shutdown ordering * Exclude GatherNodes from order violation checks. Added more informative printing * Applied review comment. Also added ALERT. Also print if we are still starting async tasks although we already stopped them --------- Co-authored-by: Max Neunhoeffer <max@arangodb.com>
Scope & Purpose
This PR adds. more visibility into a violated assumptions. The cleanup of AQL expects Blocks to be in a particular order in the cleanup lists. This PR should add visibility in cases where it is unexpectedly not.
Checklist
Related Information
(Please reference tickets / specification / other PRs etc)