[ 
https://issues.apache.org/jira/browse/OAK-440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13498762#comment-13498762
 ] 

Tudor Rogoz commented on OAK-440:
---------------------------------

Launched the concurrency tests again.And I have the following results:

- for the 3 microkernels that are writing in the same database (pyramid 
structures), the mks are not failing anymore.But, the performance doesn't look 
so good.So, a test using 3 MicroKernelImpl() takes aprox 1 second to write 3000 
nodes (1000 nodes for each mk), and using  3 MongoMicroKernel instances takes 
aprox 70 seconds.
See test 
MongoConcurrentAddNodesMultipleCommitTest.testConcurentWritingPyramid1().This 
was tested all on localhost (both the tests and one mongo instance).

- for 3 microkernels that are writing in the same database (a flat structure), 
the mks (or some of them) are failing at some point with the bellow exception 
[0].So for this kind of structure when all 3 mks are writing only under the 
root level in the tree, seems that still have some concurrency issues. 
See test 
MongoConcurrentAddNodesMultipleCommitTest.testConcurentWritingFlatStructure()

[0] Exception in thread "pool-1-thread-3" 
org.apache.jackrabbit.mk.api.MicroKernelException: 
org.apache.jackrabbit.mongomk.impl.command.exception.ConflictingCommitException:
 Encountered a concurrent conflicting update, thus can't commit revision 398 
and will be retried with new revision
        at 
org.apache.jackrabbit.mongomk.impl.MongoMicroKernel.commit(MongoMicroKernel.java:105)

Mete, my updates are still on my fork, probably this afternoon Michael Dürig 
will move them on the origin.

                
> Concurrency issue when 3 microkernels are writing in the same db
> ----------------------------------------------------------------
>
>                 Key: OAK-440
>                 URL: https://issues.apache.org/jira/browse/OAK-440
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mongomk
>         Environment: linux ubuntu + 1 mongo database instance
>            Reporter: Tudor Rogoz
>
> See test ConcurrentWriteMultipleMkMongoTest.testConcurrency().
> org.apache.jackrabbit.mongomk.impl.command.exception.ConflictingCommitException
> on each Thread when 3 mongo microkernels are writing nodes on the same 
> database.
> Run the test with: 1000 nodes, 10 nodes for the number of children, and 10 
> nodes per commit. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to