8000 Forward port for: print on violated block ordering (#21743) by mchacki · Pull Request #21773 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content

Forward port for: print on violated block ordering (#21743) #21773

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

Open
wants to merge 1 commit into
base: devel
Choose a base branch
from

Conversation

mchacki
Copy link
Member
@mchacki mchacki commented May 19, 2025

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.

  • 💩 Bugfix
  • 🍕 New feature
  • 🔥 Performance improvement
  • 🔨 Refactoring/simplification

Checklist

  • Tests
    • Regression tests
    • C++ Unit tests
    • integration tests
    • resilience tests
  • 📖 CHANGELOG entry made
  • 📚 documentation written (release notes, API changes, ...)
  • Backports
    • Backport for 3.12.0: (Please link PR)
    • Backport for 3.11: (Please link PR)
    • Backport for 3.10: (Please link PR)

Related Information

(Please reference tickets / specification / other PRs etc)

  • Docs PR:
  • Enterprise PR:
  • GitHub issue / Jira ticket:
  • Design document:

* 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>
@cla-bot cla-bot bot added the cla-signed label May 19, 2025
@mchacki mchacki self-assigned this May 19, 2025
Comment on lines +1058 to +1076
bool hasStoppedAsyncTasks = block->hasStoppedAsyncTasks();
if (hasStoppedAsyncTasks) {
LOG_TOPIC("14d22", WARN, Logger::AQL)
<< "[query#" << block->getQuery().id() << "] ALERT"
<< block->printBlockInfo()
<< " was asked to stop async task. We still start one. "
"This is an allowed rare race.";
}

auto stopGuard =
ScopeGuard([block, hasStoppedAsyncTasks]() noexcept {
if (hasStoppedAsyncTasks) {
LOG_TOPIC("14d21", WARN, Logger::AQL)
<< "[query#" << block->getQuery().id()
<< "] CLEAR ALERT" << block->printBlockInfo()
<< " We completed the task of the aforementioned "
"race. All is fine.";
}
});
Copy link
Member

Choose a reason for hiding this comment

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

These should not be on WARN, but probably on DEBUG.

Copy link
Member

Choose a reason for hiding this comment

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

If they are DEBUG, then we do not see them in production, or?

Comment on lines +292 to +295
LOG_TOPIC("a6c2b", WARN, Logger::AQL)
<< "ALERT Stopping async tasks for " << block->printBlockInfo()
<< " but have already stopped dependency "
<< seenDependency->printBlockInfo();
Copy link
Member

Choose a reason for hiding this comment

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

I think this could actually be bumped to ERROR.

Copy link
Member

Choose a reason for hiding this comment

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

8080

Fine with me.

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

Successfully merging this pull request may close these issues.

3 participants
0