bneradt commented on PR #13487: URL: https://github.com/apache/trafficserver/pull/13487#issuecomment-5198294737
@JosiahWI Good question. I walked the two paths again and agree the removal deserves an explicit explanation. The old post-assignment clear was already ineffective: after `pending_action = adjust_thread(...)`, `pending_action` is either `nullptr` or the fresh reschedule event, never `data`. In the first case there is nothing to clear; in the second we return immediately and must retain the reschedule event so it can be cancelled if the transaction tears down. If `_ua.get_txn()` is false, the hoisted clear handles `data` before the branch. Leaving both calls would therefore be harmless but redundant. The PR description sentence about a genuine reschedule installing the new event was intended to cover this, but this is the fuller reasoning. @cmcfarlen I stress-tested the timing window after a fresh Debug build and install in the ATS build container. The focused AuTest passed once, then passed 20/20 consecutive repetitions (21/21 local total). The current PR CI run is also green across all four AuTest shards. The 3s writer delay gives 2.8s between the contender start and release of the write lock, and as you noted, the required log assertions turn a missed window into a failure. Based on those results, I think 3s is comfortable. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
