]
Sanne Grinovero commented on ISPN-939:
--------------------------------------
possible workaround: avoid using close() after an exception, just null all pointers to the
IW and force the write lock to be released.
Since CR2 this will have it *not* register the new segment in the index, you can then open
a new IW and try applying your changes again (previous changes will be lost / overwritten
by next commit )
Index corruption when remote node dies during commit
----------------------------------------------------
Key: ISPN-939
URL:
https://issues.jboss.org/browse/ISPN-939
Project: Infinispan
Issue Type: Bug
Components: Lucene Directory
Affects Versions: 4.2.1.CR2
Reporter: Tristan Tarrant
Assignee: Sanne Grinovero
Attachments: read_past_eof.log, suspect_exception_node1.log
Using a scenario similar to the one described in ISPN-909:
Infinispan: 3 caches: lockCache (replicated, volatile, no eviction), metadataCache
(replicated, persisted, no eviction), dataCache (distributed, persisted, eviction, hash
numOwners=2)
Node 1: coordinator, IndexWriter open constantly and writing a stream of documents,
committing after each one
Node 2: opens a read-only IndexReader to perform queries, using reopen to keep in sync
with the updates coming from node 1
If we "kill -9" node 2 (to simulate a crash), we get a SuspectException in node
1 during the pre-commit phase (within IndexWriter.commit()). Catching the Throwable we
then close() the writer but from then on we get "Read past EOF" errors when
trying to access the index (both with readers and writers).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: