-
Notifications
You must be signed in to change notification settings - Fork 848
Fix the queue when reprioritize #2339
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
|
Testing on Docs now. |
| { | ||
| node->parent->children.remove(node); | ||
| if (node->queued) { | ||
| node->parent->queue->erase(node->entry); |
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.
If the queue of parent become empty by this operation, the queued flag of parent should also be false.
We should do same operations to parent of parent recursively.
So I think we should walk up the tree to correct queue and queued flag of parents here. WDYT?
| tree->reprioritize(1, 7, true); | ||
|
|
||
| box.check(node_a->queue->in(node_f->entry), "F should be in A's queue"); | ||
| // do we need to reset C's queued flag since C's queue is empty ?? |
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 think so. In case for C is reprioritized. IMO, walking up the tree in _change_parent will fix this.
|
I'll updated after Docs Test. |
|
Still tripping up on ASAN. :-/ |
|
Hi @masaori335 Can you please review again ! |
masaori335
left a comment
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.
Looks good to me 👍
But not sure this will fix the ASan issue:p
|
If this still doesn't fix the ASAN issue, do we still want this for 7.1.1 ? |
|
Fwiw, it still triggers on Docs with this :-). |
|
May be we need to block this pr until I address or reproduce this case. |
|
I don't know how to reproduce it, but I was browsing docs.trafficserver from Safari and Chrome at the same time, and it crashed. Not sure if it was me, or someone else though :-). |
|
I marked this as WIP for now, so we don't accidentally merge it. |
|
👍 |
|
Hi @zwoop @masaori335 Updated ! Can you please review again !! |
|
Only fixed the conflicts ! |
|
@zwoop I think this pr is ready to launch ! Can you please backport to 7.1.x |
|
Can we hold off on this one to 7.1.2 ? Or do we need it for 7.1.1 ? I'm just about ready to make the 7.1.1 RC, and this has not been tested particularly well. |
This pr tries to fix the #2323.