ai-yang commented on issue #10700:
URL: https://github.com/apache/rocketmq/issues/10700#issuecomment-5140485535

   Thanks for the evaluation. Here are the requested details in an explicit 
format:
   
   - **Version/tag:** `develop` at `00e45b8a6db23efbe756d0306f10716156cfd4dd`.
   - **Steps to reproduce:**
     1. Start two concurrent first `commitOffset` calls for the same 
`topic@group` but different queue IDs.
     2. Use a barrier so both calls observe a missing inner offset map.
     3. Let both calls initialize and publish their maps.
     4. Persist and reload the offset manager.
   - **Actual behavior:** One inner map can overwrite the other, so only one 
queue remains in memory or after reload. In RocksDB v1 incremental mode, an 
older serialized whole-map WAL batch can also be written after the newer 
snapshot and overwrite it on disk.
   - **Expected behavior:** Both queue offsets must remain in memory and after 
persistence/reload.
   - **Logs or stack traces:** This is a silent data race and does not emit an 
exception or stack trace. The deterministic regression tests against the 
previous implementation failed with `expected: 2 but was: 1` for the classic 
JSON manager, RocksDB v1 periodic persistence, and RocksDB v1 incremental 
restart recovery.
   
   The focused fix and deterministic regression tests are available in PR 
#10701.
   


-- 
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]

Reply via email to