
This patch changes markers so that they are generated using a per-queue side counter. A heuristic is used to mitigate a race condition. Due to the new semantics, partial inserts are no longer possible due to collisions, which ended up simplifying the retry logic for posting messages. As a consequence of this patch, the last message posted no longer needs to remain in the queue indefinitely, rendering marconi-gc unnecessary, and so it has been removed. Also, since the mongod GC worker runs once a minute, the queries no longer filter out expired-but-not-yet-gc'd messages; on average, a message may live more than 30 seconds passed it's expected lifetime, but I do not think that this will harm or complicate any application building on top of Marconi, practically speaking. That being said, it is worth calling out in documentation. Closes-Bug: #1218602 Change-Id: I34e24e7dd7c4e017c84eb5929ce37ad4c9e5266a
Marconi
Message queuing service for OpenStack
Running a local Marconi server with MongoDB
Install MongoDB
Start a MongoDB instance:
mongod
Clone the Marconi repo:
git clone https://github.com/stackforge/marconi.git
cd to your local copy of the repo
Copy the Marconi config files to the directory ~/.marconi:
cp -r marconi/etc/*.conf-sample ~/.marconi/marconi.conf
Find the
[drivers:storage:mongodb]
section in ~/.marconi/marconi.conf and modify the URI to point to your local mongod instance:uri = mongodb://localhost
Run the following so you can see the results of any changes you make to the code, without having to reinstall the package each time:
python setup.py develop
Start the marconi server:
marconi-server
Description
Languages
Python
96.1%
PHP
1.5%
Shell
1.2%
HTML
0.8%
Lua
0.3%