[
https://issues.jboss.org/browse/ISPN-5596?page=com.atlassian.jira.plugin....
]
Andreas Pabst updated ISPN-5596:
--------------------------------
Steps to Reproduce: run test case from attached file which basically repeatedly clears
the cache, fills it, stops it and restarts it. (was: public class SoftIndexCacheStoreTest
{
public static final EmbeddedCacheManager MANAGER = new DefaultCacheManager();
public static void main(String args[]) throws Exception {
Cache<Integer, String> testCache = createCache();
clearFillStopAndStartAgain(testCache);
clearFillStopAndStartAgain(testCache);
testCache.stop();
MANAGER.stop();
}
private static void clearFillStopAndStartAgain(Cache<Integer, String> testCache)
{
System.out.println("cache status: " + testCache.getStatus());
testCache.clear();
for (int i = 0; i < 100; i++) {
testCache.put(i, "the value for " + i);
}
testCache.stop();
System.out.println("cache status: " + testCache.getStatus());
testCache.start();
}
private static Cache<Integer, String> createCache() {
System.out.println("Defining cache config");
MANAGER.defineConfiguration("soft-index-test-cache", new
ConfigurationBuilder()
.persistence().addStore(SoftIndexFileStoreConfigurationBuilder.class)
.indexLocation("soft-index-test/index").dataLocation("soft-index-test/data")
.eviction().strategy(EvictionStrategy.LRU).maxEntries(50L)
.build());
System.out.println("Getting cache");
return MANAGER.getCache("soft-index-test-cache");
}
}
)
"Cannot clear data directory" in SoftIndexFileStore when
clear() is called after stopping and restarting cache
--------------------------------------------------------------------------------------------------------------
Key: ISPN-5596
URL:
https://issues.jboss.org/browse/ISPN-5596
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 7.2.3.Final
Environment: Windows 7
Reporter: Andreas Pabst
Assignee: Radim Vansa
Attachments: SoftIndexFileStoreTest.java, test.log
When stopping and restarting a cache with SoftIndexFileStore persistence, it behaves
strangely.
Calling cache.clear() leads to the following exception:
ERROR: ISPN000136: Execution error
org.infinispan.persistence.spi.PersistenceException: Cannot clear data directory!
at
org.infinispan.persistence.sifs.SoftIndexFileStore.clear(SoftIndexFileStore.java:234)
at
org.infinispan.persistence.manager.PersistenceManagerImpl.clearAllStores(PersistenceManagerImpl.java:372)
at
org.infinispan.interceptors.CacheWriterInterceptor.visitClearCommand(CacheWriterInterceptor.java:158)
...
Caused by: java.io.IOException: Cannot delete file soft-index-test\data\2
at org.infinispan.persistence.sifs.FileProvider.clear(FileProvider.java:205)
at
org.infinispan.persistence.sifs.SoftIndexFileStore.clear(SoftIndexFileStore.java:232)
If the manager is also stopped and recreated every time, this only happens after the
third iteration.
Calling cache.remove() in the same place leads to an unrecoverable corruption of the
cache store files: java.lang.IllegalArgumentException: Negative position
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)