Hi, I am working on my master thesis at Adobe and within the context of my project I am currently looking into implementing parts of a MicroKernel using Apache HBase and some scalability / performance tests. Doing so I have encountered a concurrency-related issue with the MongoMicroKernel. It seems that there is a problem when lots of threads try to commit new nodes concurrently.
I have attached a JUnit test which reproduces the error. The test creates 16 microkernels, each committing two nodes in a separate thread. Some threads will throw an exception saying that the node they're trying to commit already exists. This cannot be the case however, as the nodes added by different threads do not overlap / conflict. No exceptions are thrown if setting the number of threads to some lower number, but I have observed that in this case the problem still exists when trying to add a larger number of nodes (more than just 2). Maybe this is a known issue but since I haven't found a corresponding bug report I thought I'd share this on the list. Also, please let me know if I'm not following protocol as I am new to Oak and open source in general :) Best, Damien
