Tomek Rękawek created OAK-3748:
----------------------------------

             Summary: Heuristic to decide if the document may be a part of the 
bulk update
                 Key: OAK-3748
                 URL: https://issues.apache.org/jira/browse/OAK-3748
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: documentmk, mongomk, rdbmk
            Reporter: Tomek Rękawek
             Fix For: 1.4


OAK-2066 introduces the bulk createOrUpdate method in the DocumentStore 
interface and implements it in the Mongo and RDB DSes. Both implementations try 
to apply the bulk changes in a few iterations. The iteration first reads the 
current documents and then updates them. If there's a concurrent modification 
between read and update, it causes a conflict. Such documents will be updated 
in the next iteration. The documents that can't be updated in a few trials are 
eventually updated in a sequential way.

Some documents are more probable to cause a fail than other. Eg. the root 
document is very likely to be changed by some other process. We could create a 
list of such "hotspot" documents and exclude them from the bulk updates. The 
list can be self-maintaining, eg. documents which conflicted in more than 50% 
cases in the last 1h.



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

Reply via email to