jira-importer commented on issue #489:
URL: https://github.com/apache/maven-indexer/issues/489#issuecomment-2965144950

   **[Tamas 
Cservenak](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=cstamas)**
 commented
   
   This stems from concurrent access improperly synchronised. As I see, you use 
MI 5, and starting with it, the concurrency and synchronisation should be 
implemented by library consumer.
   
   Here, I _guess_ what happens is that you have (what is suggested by 
stacktraces in NB bugzilla at least) is that you have concurrent access on 
context: one update (that will do IndecingContext#replace in one moment during 
it's execution when _full remote update_ happens) and some search probably 
("plain" index read).
   
   This is a known problem with MI (hit us in Nexus too), and Nexus uses 
following trick from: _never_ perform full remote update, or (as it is now 
possible with MI) exclusively lock the context being remotely updated. Meaning, 
you have to ensure no "read" operation happens against it (like searches) in 
none of the threads.
   
   Also, see MINDEXER-65 as it actually addresses this same problem, with 
making possible to scan() index _without_ hitting IndexingContext#replace 
method.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to