MongoDB: Persistent tail tracking with concurrent tailable consumers
I observe a very strange behaviour with concurrent tailable consumers and persistent tail tracking. Perhaps you have an idea:
- A MongoDB Replicaset of 3 servers, running MongoDB 2.4.11
- 2 camel servers (tomcat7 with Sun JDK, Camel 2.13.1)
- On each server, 5 tailable cursor consumer endpoints, listening on 5 different collections with persistent tail tracking enabled
- The persistent id for each consumer endpoint is defined as:
- So the collection storing the persistent tail tracking information ("consumedUpdates") looks something like this:
The problem: Only one document in the "consumedUpdates" collection seems to be updated, no matter which collection or host is affected. It seems like this is always the first document in the collection. So all consumers write into the same document, overwriting information coming from other consumers :(
The problem does not occur on our test environment (1 camel server, 1 MongoDB, both on the same machine).
If no tail tracking object exists in the database, a new one will be inserted (that's okay), but the query "dbCol.findOne()" fetches ANY tail tracking object from the database (and not the one we've just inserted).
In my oppinition, this is a bug and should be corrected like this:
> It's me again.
> I think I found the problem:
> It's in the method "initialize" in "MongoDbTailTrackingManager.java":
> If no tail tracking object exists in the database, a new one will be
> inserted (that's okay), but the query "dbCol.findOne()" fetches ANY tail
> tracking object from the database (and not the one we've just inserted).
> In my oppinition, this is a bug and should be corrected like this:
> For now, I work around this by putting every persistent tail tracker in it's
> own collection so I make sure that even a findOne() always gives me the
> right tracker.
> Best regards,
> View this message in context: http://camel.465427.n5.nabble.com/MongoDB-Persistent-tail-tracking-with-concurrent-tailable-consumers-tp5759131p5759202.html > Sent from the Camel - Users mailing list archive at Nabble.com.