You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2014/11/20 10:05:34 UTC

[jira] [Resolved] (CAMEL-8063) Persistent tail tracking picks random tail tracker from mongoDB collection

     [ https://issues.apache.org/jira/browse/CAMEL-8063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Willem Jiang resolved CAMEL-8063.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 2.15.0

Applied the patch into camel master branch.

> Persistent tail tracking picks random tail tracker from mongoDB collection
> --------------------------------------------------------------------------
>
>                 Key: CAMEL-8063
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8063
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-mongodb
>    Affects Versions: 2.13.1
>            Reporter: Jörg Peschke
>            Assignee: Willem Jiang
>            Priority: Minor
>             Fix For: 2.15.0
>
>
> There is a bug the method "initialize" in "MongoDbTailTrackingManager.java": 
> ...
>  if (trackingObj == null) {
>             dbCol.insert(filter, WriteConcern.SAFE);
>             trackingObj = dbCol.findOne();
>  }
> ...
> 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: 
> ...
> DBObject filter = new BasicDBObject("persistentId", config.persistentId);
> trackingObj = dbCol.findOne(filter);
>  if (trackingObj == null) {
>             dbCol.insert(filter, WriteConcern.SAFE);
>             trackingObj = dbCol.findOne(filter);
>  }
> (not tested).
> A workaround can be implemented by putting each persistent tail tracker in it's own collection, so I marked this issue as "minor".
> More details: http://camel.465427.n5.nabble.com/MongoDB-Persistent-tail-tracking-with-concurrent-tailable-consumers-td5759131.html
> Best regards,
> Joerg Peschke



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)