I am using Oak with a DocumentNodeStore. I am storing content then adding a message onto a queue. The consumer of the message uses and id to retrieve the content. I am seeing frequent failures in the consumer (node not available/does not exist). If I add a Thread.sleep after I store the node I do not see these failures. My initial thought was this was related to the default Mongo WriteConcern of Acnknowledged, so I changed my code:

public Repository getRepository() throws ClassNotFoundException, RepositoryException { DB db = new MongoClient(mongoHost, mongoPort).getDB(mongoOakDbName); db.setWriteConcern(WriteConcern.JOURNALED); // I also tried using FSYNC DocumentNodeStore ns = new DocumentMK.Builder().setMongoDB(db).getNodeStore();
        return new Jcr(new Oak(ns)).createRepository();
    }

but I still see the problem.  Am I missing something?

Thanks

Reply via email to