zaqar/marconi/queues
kgriffs fc71f6a17e fix(mongodb): Ensure batch message posts are atomic (all or nothing)
In the case of a network failure it is not possible to discover which,
if any, of the messages in a given batch were inserted before the
outage occurred.

This patch works around the problem by inserting messages in two
phases:

1. Assign all messages a "batch" or "group" ID and insert them
2. Once it has been confirmed that *all* messages were inserted
   correctly, finalize the transaction by clearing the batch
   ID, 'g', from the messages just inserted.

Message listing and counting were also modified to ignore any
non-finalized messages, i.e., those messages that have a non-null
'g' value.

Orphaned messages will eventually expire and be cleaned up as
usual via the TTL index.

Closes-Bug: #1270263
Change-Id: I9de61cdfdf6dfcbe07ef76bf63a293091f087663
2014-01-17 22:42:09 +00:00
..
api Merge "Map HTTP request codes in jsonschema" 2014-01-08 16:08:44 +00:00
storage fix(mongodb): Ensure batch message posts are atomic (all or nothing) 2014-01-17 22:42:09 +00:00
transport Enforce size verification on content-length 2014-01-17 17:32:36 +01:00
__init__.py Change Marconi's codebase structure 2013-09-17 14:49:24 +02:00
bootstrap.py Remove gettext magic and import _ explicitly 2013-12-09 17:40:08 +01:00