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

Ishan Chattopadhyaya commented on SOLR-12338:
---------------------------------------------

There are some situations where if in-place updates and DBQs are re-ordered, 
then the entire document needs to be fetched from the leader. This is fine when 
we have an active leader, but in case of tlog replay, we would need to apply 
those updates in the same order.

I think if DBQs are executed in the right order (i.e. all updates before a DBQ 
was updated before the DBQ, and all updates after the DBQ are executed after 
the DBQ), then we can run the other updates in parallel.

Example:
{code:java}
add1
add2
add3
dbq1
add4
add5
add6
..
add20
dbq2
{code}
Here, add# are either full document updates or in-place updates. I suggest: we 
run updates add1-add3 in parallel, and then wait till they are done before 
executing db1, and then add4-add20 parallely and then wait and execute dbq2. 
This should be fine, I think. (CC [~hossman], wdyt?)

> Replay buffering tlog in parallel
> ---------------------------------
>
>                 Key: SOLR-12338
>                 URL: https://issues.apache.org/jira/browse/SOLR-12338
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Cao Manh Dat
>            Assignee: Cao Manh Dat
>            Priority: Major
>         Attachments: SOLR-12338.patch
>
>
> Since updates with different id are independent, therefore it is safe to 
> replay them in parallel. This will significantly reduce recovering time of 
> replicas in high load indexing environment. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to