Skip to content

Fix[MQB]: make processingTimeStart a local variable - #1220

Merged
678098 merged 1 commit into
bloomberg:mainfrom
678098:260325_fix_TSAN_processingTimeStart
Mar 26, 2026
Merged

Fix[MQB]: make processingTimeStart a local variable#1220
678098 merged 1 commit into
bloomberg:mainfrom
678098:260325_fix_TSAN_processingTimeStart

Conversation

@678098

@678098 678098 commented Mar 25, 2026

Copy link
Copy Markdown
Collaborator

The current implementation has thread-unsafe read/write of the processingTimeStart field of DispatcherEvent, if the event is shared. This happens when we call executeOnAllQueues.
The solution is to keep a local copy of processing time start.

east2 20:19:08.172 (139895763064512) INFO blazingmq.tsk.bmqbrkr.stderr bmqproc.py:129 Previous read of size 8 at 0x7f8b87c8f068 by thread T12:

east2 20:19:08.173 (139895763064512) INFO blazingmq.tsk.bmqbrkr.stderr bmqproc.py:129 #0 BloombergLP::mqbi::DispatcherEvent::processingStartTime() const /blazingmq/src/groups/mqb/mqbi/mqbi_dispatcher.h:1656:12 (bmqbrkr.tsk+0x265fa70) (BuildId: 83595e75e3012fdf455a3917c2adda78e6ca04d1)

@678098
678098 requested a review from a team as a code owner March 25, 2026 21:32
@678098
678098 requested a review from waldgange March 25, 2026 21:35
The current implementation has thread-unsafe read/write of the
processingTimeStart field of DispatcherEvent, if the event is shared.
This happens when we call executeOnAllQueues.
The solution is to keep a local copy of processing time start.

Signed-off-by: Evgeny Malygin <emalygin@bloomberg.net>
@678098
678098 force-pushed the 260325_fix_TSAN_processingTimeStart branch from e34df7b to 37e32fe Compare March 25, 2026 21:53
@678098
678098 merged commit 9f633b9 into bloomberg:main Mar 26, 2026
45 of 46 checks passed
@678098
678098 deleted the 260325_fix_TSAN_processingTimeStart branch March 26, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants