Ticket #1070 (new defect)
JBoss and blitz indexing race condition
| Reported by: | jmoore | Owned by: | jmoore |
|---|---|---|---|
| Priority: | major | Milestone: | OMERO-Beta4 |
| Component: | Search | Version: | 3.0-M1 |
| Keywords: | Cc: | callan |
Description
When both jboss and blitz are running against the same database, there is a possible race condition on eventlog ids:
13:21:01,181 ERROR [JDBCTransaction] exception calling user Synchronizationorg.hibernate.search.SearchException: Unable to remove from Lucene index: class ome.model.meta.Session#1402 at org.hibernate.search.backend.impl.lucene.LuceneWorker.remove(LuceneWorker.java:109) at org.hibernate.search.backend.impl.lucene.LuceneWorker.performWork(LuceneWorker.java:80) at org.hibernate.search.backend.impl.lucene.LuceneWorker.performWork(LuceneWorker.java:46) at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueProcessor.run(LuceneBackendQueueProcessor.java:98) at org.hibernate.search.backend.impl.BatchedQueueingProcessor.performWorks(BatchedQueueingProcessor.java:149) at org.hibernate.search.backend.impl.PostTransactionWorkQueueSynchronization.afterCompletion(PostTransactionWorkQueueSynchronization.java:50)
20:29
Caused by: org.apache.lucene.index.StaleReaderException: IndexReader out of date and no longer valid for delete, undelete, or setNorm operations
at org.apache.lucene.index.IndexReader.acquireWriteLock(IndexReader.java:648)
at org.apache.lucene.index.IndexReader.deleteDocument(IndexReader.java:672)
at org.hibernate.search.backend.impl.lucene.LuceneWorker.remove(LuceneWorker.java:104)
... 48 more
Though this should not affect the index, it would make sense to put DB-locking in place to prevent the exception.
Change History
Note: See
TracTickets for help on using
tickets.
