Description
Category add/remove uses read-modify-write across separate transactions. Concurrent writes to the same category key can overwrite each other.
Steps to Reproduce
- Run two concurrent writes adding different IDs to the same category field/value.
- Make both writes overlap between bitmap read and bitmap write.
- Query that category value.
Expected Behavior
The bitmap should contain both IDs after both successful writes.
Actual Behavior
One writer can overwrite the other writer's bitmap update.
Description
Category add/remove uses read-modify-write across separate transactions. Concurrent writes to the same category key can overwrite each other.
Steps to Reproduce
Expected Behavior
The bitmap should contain both IDs after both successful writes.
Actual Behavior
One writer can overwrite the other writer's bitmap update.