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

Michael Dürig commented on OAK-4122:
------------------------------------

I completely forgot about  OAK-4742. Good to have this. Once we have a 
scheduler I think this should move there. 

Re. that initial API, feel free to revise this in whatever way you think would 
work best. This was done before all these big refactorings so it might not 
apply any more at all. To me the important part is to be able separate 
scheduling of commits from actually performing the commits. 

> Replace the commit semaphore in the segment node store with a scheduler
> -----------------------------------------------------------------------
>
>                 Key: OAK-4122
>                 URL: https://issues.apache.org/jira/browse/OAK-4122
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Andrei Dulceanu
>              Labels: operations, performance, scalability, throughput
>             Fix For: 1.8
>
>
> {{SegmentNodeStore}} currently uses a semaphore to coordinate concurrent 
> commits thus relying on the scheduling algorithm of that implementation and 
> ultimately of the JVM for in what order commits are processed. 
> I think it would be beneficial to replace that semaphore with an explicit 
> queue of pending commit. This would allow us to implement a proper scheduler 
> optimising for e.g. minimal system load, maximal throughput or minimal 
> latency etc. A scheduler could e.g. give precedence to big commits and order 
> commits along the order of its base revisions, which would decrease the 
> amount of work to be done in rebasing. 



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

Reply via email to