]
Mircea Markus updated ISPN-3722:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
State transfer must be enabled for Lucene Directory if clustered
caches are used
--------------------------------------------------------------------------------
Key: ISPN-3722
URL:
https://issues.jboss.org/browse/ISPN-3722
Project: Infinispan
Issue Type: Bug
Components: Lucene Directory
Affects Versions: 6.0.0.CR1
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
Fix For: 6.1.0.Final
take a look at the following code:
{code:java}
public Set<String> getFileList() {
Set<String> fileList = (Set<String>) cache.get(fileListCacheKey);
if (fileList == null) {
fileList = new ConcurrentHashSet<String>();
Set<String> prev = (Set<String>) cache.putIfAbsent(fileListCacheKey,
fileList);
if ( prev != null ) {
fileList = prev;
}
}
return fileList;
}
{code}
when it requests the file list, the joiner does not have the data locally and it tries to
do a putIfAbsent with an empty set. However, when it reaches the primary owner (if not
changed), it will return the current file list.
After, it tries to read the files returned in the set and it cannot find it, throwing an
IOException -- "Read past EOF"
A validation should be made in order to not allow clustered caches without state
transfer.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: