while (true) {
LOG.debug("Waiting for commit...");
DBCollection headCollection = ((MongoNodeStore)microKernel.getNodeStore()).getSyncCollection();
MongoSync syncMongo = (MongoSync) headCollection.findOne();
if (this.lastHeadRevId < syncMongo.getHeadRevisionId()) {
DBCollection commitCollection = ((MongoNodeStore)microKernel.getNodeStore()).getCommitCollection();
DBObject query = QueryBuilder.start(MongoCommit.KEY_REVISION_ID).greaterThan(this.lastRevId)
.and(MongoCommit.KEY_REVISION_ID).lessThanEquals(syncMongo.getHeadRevisionId()).get();
DBObject sort = QueryBuilder.start(MongoCommit.KEY_REVISION_ID).is(1).get();
DBCursor dbCursor = commitCollection.find(query).sort(sort);
while (dbCursor.hasNext()) {
commitMongos.add((MongoCommit) dbCursor.next());
}
if (commitMongos.size() > 0) {
LOG.debug(String.format("Found %d new commits", commitMongos.size()));
break;
}
this.lastHeadRevId = syncMongo.getHeadRevisionId();
}
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// noop