Graylog2 / Graylog2/graylog2-server
Improve handling of concurrent actions in persistence layer
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
In order to avoid data inconsistencies, we need to improve our handling of concurrent actions in the persistence layer.
Currently there is no easy way of preventing concurrent actions to modify the same MongoDB document with unexpected consequences, as you can see in #4525. This is specially problematic when dealing with embedded documents, as the same document may be updated more often and only partially. In the best case this situation may lead to an action being reverted (as it is the case in the example), but this could potentially lead to data inconsistencies, specially when other parts of the system react to those data changes.
This is a complex topic and we need to analyse it and look for a solution that help us avoiding this kind of problem in the whole persistence layer, so I want to open this issue here and we can update it once we have some ideas and know how to solve the issue.
Contributor guide
Assessment
This issue has not been assessed yet.