Graylog2 / Graylog2/graylog2-server

Improve handling of concurrent actions in persistence layer

Open
#4,527 0 comments 0 reactions 0 assignees View on GitHub
improvement infrastructure
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.