fixed for asyncFinishLock: avoid call finish more than once#3073
fixed for asyncFinishLock: avoid call finish more than once#3073qxo wants to merge 4 commits intoapache:masterfrom
Conversation
wu-sheng
left a comment
There was a problem hiding this comment.
Could you show me how to finish more than once? In my mind, the condition activeSpanStack.isEmpty() && (!isRunningInAsyncMode || asyncSpanCounter.get() == 0) should only be reached once.
|
|
I think I get your point of issue, but if you are talking about I think this problem only could be solved by adding a field // rename checkFinishConditions
private void finish () {
... lock
if (running) {
if (activeSpanStack.isEmpty() && (!isRunningInAsyncMode || asyncSpanCounter.get() == 0)) {
running = false;
_doFinish(); // rename old finish method
}
}
.... unlock
} |
|
Yep, my fix still have issue.Please fix it :) |
By you or me? Do you want me to raise to new PR? |
Please answer these questions before submitting pull request
Why submit this pull request?
[ *] Bug fix
New feature provided
Improve performance
Related issues
Bug fix
fixed for asyncFinishLock: avoid call finish more than once
call "finish" after asyncFinishLock lock and before unlock
New feature or improvement