[jira] [Updated] (SOLR-14923) Indexing performance is unacceptable when child documents are involved

2020-12-15 Thread Jira


 [ 
https://issues.apache.org/jira/browse/SOLR-14923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Wöckinger updated SOLR-14923:

Affects Version/s: 8.7

> Indexing performance is unacceptable when child documents are involved
> --
>
> Key: SOLR-14923
> URL: https://issues.apache.org/jira/browse/SOLR-14923
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: update, UpdateRequestProcessors
>Affects Versions: 8.3, 8.4, 8.5, 8.6, 8.7, master (9.0)
>Reporter: Thomas Wöckinger
>Priority: Critical
>  Labels: performance, pull-request-available
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Parallel indexing does not make sense at moment when child documents are used.
> The org.apache.solr.update.processor.DistributedUpdateProcessor checks at the 
> end of the method doVersionAdd if Ulog caches should be refreshed.
> This check will return true if any child document is included in the 
> AddUpdateCommand.
> If so ulog.openRealtimeSearcher(); is called, this call is very expensive, 
> and executed in a synchronized block of the UpdateLog instance, therefore all 
> other operations on the UpdateLog are blocked too.
> Because every important UpdateLog method (add, delete, ...) is done using a 
> synchronized block almost each operation is blocked.
> This reduces multi threaded index update to a single thread behavior.
> The described behavior is not depending on any option of the UpdateRequest, 
> so it does not make any difference if 'waitFlush', 'waitSearcher' or 
> 'softCommit'  is true or false.
> The described behavior makes the usage of ChildDocuments useless, because the 
> performance is unacceptable.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (SOLR-14923) Indexing performance is unacceptable when child documents are involved

2020-10-12 Thread Jira


 [ 
https://issues.apache.org/jira/browse/SOLR-14923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Wöckinger updated SOLR-14923:

Description: 
Parallel indexing does not make sense at moment when child documents are used.

The org.apache.solr.update.processor.DistributedUpdateProcessor checks at the 
end of the method doVersionAdd if Ulog caches should be refreshed.

This check will return true if any child document is included in the 
AddUpdateCommand.

If so ulog.openRealtimeSearcher(); is called, this call is very expensive, and 
executed in a synchronized block of the UpdateLog instance, therefore all other 
operations on the UpdateLog are blocked too.

Because every important UpdateLog method (add, delete, ...) is done using a 
synchronized block almost each operation is blocked.

This reduces multi threaded index update to a single thread behavior.

The described behavior is not depending on any option of the UpdateRequest, so 
it does not make any difference if 'waitFlush', 'waitSearcher' or 'softCommit'  
is true or false.

The described behavior makes the usage of ChildDocuments useless, because the 
performance is unacceptable.

 

 

  was:
Parallel indexing does not make sense at moment when child documents are used.

The org.apache.solr.update.processor.DistributedUpdateProcessor checks at the 
end of the method doVersionAdd if Ulog caches should be refreshed.

This check will return true if any child document is include in the 
AddUpdateCommand.

If so ulog.openRealtimeSearcher(); is called, this call is very expensive, and 
executed in a synchronized block, therefor all other operations on the 
UpdateLog are blocked too.

Because every important UpdateLog method (add, delete, ...) is done using a 
synchronized block almost each operation is blocked.

This reduces multi threaded index update to a single thread behavior.

The described behavior is not depending on any option of the UpdateRequest, so 
it does not make any difference if 'waitFlush', 'waitSearcher' or 'softCommit'  
is true or false.

The described behavior makes the usage of ChildDocuments useless, because the 
performance is unacceptable.

 

 


> Indexing performance is unacceptable when child documents are involved
> --
>
> Key: SOLR-14923
> URL: https://issues.apache.org/jira/browse/SOLR-14923
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: update, UpdateRequestProcessors
>Affects Versions: master (9.0), 8.3, 8.4, 8.5, 8.6
>Reporter: Thomas Wöckinger
>Priority: Critical
>  Labels: performance
>
> Parallel indexing does not make sense at moment when child documents are used.
> The org.apache.solr.update.processor.DistributedUpdateProcessor checks at the 
> end of the method doVersionAdd if Ulog caches should be refreshed.
> This check will return true if any child document is included in the 
> AddUpdateCommand.
> If so ulog.openRealtimeSearcher(); is called, this call is very expensive, 
> and executed in a synchronized block of the UpdateLog instance, therefore all 
> other operations on the UpdateLog are blocked too.
> Because every important UpdateLog method (add, delete, ...) is done using a 
> synchronized block almost each operation is blocked.
> This reduces multi threaded index update to a single thread behavior.
> The described behavior is not depending on any option of the UpdateRequest, 
> so it does not make any difference if 'waitFlush', 'waitSearcher' or 
> 'softCommit'  is true or false.
> The described behavior makes the usage of ChildDocuments useless, because the 
> performance is unacceptable.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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