We're updating the issue view to help you get more done.Learn more

serialize write requests at document level via a job queue

note: mongodb 4.0 is going to introduce Multi-document Transactions (see https://docs.mongodb.com/manual/upcoming/). This will make request serialization useless since its goal is best addressed via transactions.

since:

  • mongodb does not handle transactions that spans multiple operations
  • restheart performs few (>1) write operations for a single write request such as a PUT

in order to avoid ghost writes that might happen when concurrent write request are received we want to add the ?s query parameter (s=serialize). this qparam will serialize the concurrent requests thus avoiding this issue.

being serialized and not performed concurrently, the write operations will take more to complete, i.e. decreased performances.

see https://github.com/SoftInstigate/restheart/issues/191

Status