Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(engine): prevent record corruption during message TTL checking
When multiple message TTL checker were running concurrently, for example because one broker is leader for multiple partitions, the scheduled jobs tried to write the same message record concurrently. Writing records (or really, `UnpackedObject`s) is not thread safe. Using a static instance of the empty message record would result in deserialization errors while trying to create a copy before writing to the logstream. Usually this would kill the processing actor and stop processing for one partition. With `enableMessageTtlCheckerAsync` enabled, it would only prevent message TTL checking until a new instance of `MessageObserver` is started. (cherry picked from commit f318044)
- Loading branch information