Lucene segments file are flushed twice using SKIP_LOCK, implement proper index commit()
---------------------------------------------------------------------------------------
Key: ISPN-590
URL:
https://jira.jboss.org/browse/ISPN-590
Project: Infinispan
Issue Type: Bug
Components: Lucene Directory
Affects Versions: 4.1.0.CR2
Reporter: Sanne Grinovero
Assignee: Sanne Grinovero
Fix For: 4.1.0.CR3
For the segments file only Lucene uses a flush()+commit() semantics, which is currently
mapped as put()+put() twice, while we could actually put it at commit only.
Also as we're using the SKIP_LOCK flag on the byte[] of the contents of this file,
which never changes, it's not deterministic which value is pushed to the cache, as the
second's put() value contains the checksum too and the first not, the index looks like
corrupted if the first put() is accepted only.
Going to use batching around this, to properly implement commit() semantics delegating to
an eventual transactionmanager, as suggested by Lucene's design of flush+commit.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira