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
[native] Improve Zombie Tasks logging. #22607
Conversation
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.
@spershin thanks for the improvement % nits.
|
||
ZombieTaskStats( | ||
const std::shared_ptr<exec::Task>& task, | ||
long numExtraReferences_) |
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.
Comment say the extra references could be either from velox or presto? Thanks!
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.
This is conveyed on another level.
The structure has no knowledge about it.
const std::string info; | ||
const long numExtraReferences; | ||
|
||
ZombieTaskStats( |
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.
Nit: Why was explicit
removed? This should still be used for the construction during the emplace call like before?
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.
explicit is was used for single-argument constructors, so there would be no implicit type conversion.
1. Only get task info is really needed. 2. Log also the number of extra references. 3. Log the type of Task for each task.
1b42782
to
756ec4f
Compare
|
||
ZombieTaskStats( | ||
const std::shared_ptr<exec::Task>& task, | ||
long _numExtraReferences) |
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.
s/long/uint32_t/ why long? Thanks!
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.
@xiaoxmeng
Simply based on where we get them from:
const auto prestoTaskRefCount = prestoTask.use_count();
which comes from
long use_count() const _NOEXCEPT
Description
If release note is NOT required, use: