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

ASF subversion and git services commented on LUCENE-8571:
---------------------------------------------------------

Commit 5ebfede368816f17b8478e7fb7927fc68773b42f in lucene-solr's branch 
refs/heads/branch_7x from [~simonw]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=5ebfede ]

LUCENE-8571: Don't block on FrozenBufferedUpdates#apply during IW#processEvents

While indexing we try to apply frozen deletes packages concurrently
on indexing threads if necessary. This is done in an opaque way via
IndexWriter#processEvents. Yet, when we commit or refresh we have to
ensure we apply all frozen update packages before we return.
Today we execute the apply method in a blocking fashion which is unncessary
when we are in a IndexWriter#processEvents context, we block indexing
threads while they could just continue since it's already being applied.
We also might wait in BufferedUpdatesStream when we apply all necessary updates
were we can continue with other work instead of waiting.
This change also tries to apply the packages that are not currently applied
first in order to not unnecessarily block.


> Don't block on FrozenBufferedUpdates#apply during IW#processEvents
> ------------------------------------------------------------------
>
>                 Key: LUCENE-8571
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8571
>             Project: Lucene - Core
>          Issue Type: Improvement
>    Affects Versions: 7.5, master (8.0)
>            Reporter: Simon Willnauer
>            Priority: Major
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> While indexing we try to apply frozen deletes packages concurrently
> on indexing threads if necessary. This is done in an opaque way via
> IndexWriter#processEvents. Yet, when we commit or refresh we have to 
> ensure we apply all frozen update packages before we return. 
> Today we execute the apply method in a blocking fashion which is unnecessary
> when we are in a IndexWriter#processEvents context, we block indexing
> threads while they could just continue since it's already being applied.
> We also might wait in BufferedUpdatesStream when we apply all necessary 
> updates
> were we can continue with other work instead of waiting. 
> This change also tries to apply the packages that are not currently applied
> first in order to not unnecessarily block.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to