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

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

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

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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to