[JBoss JIRA] (ISPN-5663) cache.put() from C++ causes exception in Java cache.keySet()
by Bipin Prasad (JIRA)
Bipin Prasad created ISPN-5663:
----------------------------------
Summary: cache.put() from C++ causes exception in Java cache.keySet()
Key: ISPN-5663
URL: https://issues.jboss.org/browse/ISPN-5663
Project: Infinispan
Issue Type: Bug
Components: Remote Protocols
Affects Versions: 7.2.3.Final
Environment: 7.2.3
Reporter: Bipin Prasad
When a string key and value are entered via C++ HotRod client, a Java HotRod client encounters exception when calling cache.keySet().
Java cache.get() for the key return null but throws no exception.
In the reverse, when Java client adds values to the cache, the cache keys are not correctly matched in the C++ client. A fetch of all keys shows three binary characters in front of the key with the third binary character being length of the key.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months
[JBoss JIRA] (ISPN-5626) Clean up missing parts for Distributed Streams
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-5626?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-5626:
--------------------------------
Description:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# --Add tests for containsValue requiring serialization overhead.-- Unneeded
# --Change isEmpty to use findAny--
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# --Add timeout for remote operations to be equal to replication sync timeout--
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
# Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
# Rewrite cache loader to use a spliterator which allows for a more performant forEachRemaining and possibly better parallel split values
# Look into adding BitSetSet to store segment sets instead of Set<Integer>
was:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# --Add tests for containsValue requiring serialization overhead.-- Unneeded
# --Change isEmpty to use findAny--
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# Add timeout for remote operations to be equal to replication sync timeout
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
# Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
# Rewrite cache loader to use a spliterator which allows for a more performant forEachRemaining and possibly better parallel split values
# Look into adding BitSetSet to store segment sets instead of Set<Integer>
> Clean up missing parts for Distributed Streams
> ----------------------------------------------
>
> Key: ISPN-5626
> URL: https://issues.jboss.org/browse/ISPN-5626
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Reporter: William Burns
> Assignee: William Burns
>
> There are some things left over that need to still be done possibly
> # Investigate iterator parallel stream performance
> # Add support for key filter applying to cache loader
> # Add cache loader managed blocker
> # Add tests for skip & limit.
> # --Add tests for containsValue requiring serialization overhead.-- Unneeded
> # --Change isEmpty to use findAny--
> # Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
> # --Add timeout for remote operations to be equal to replication sync timeout--
> # Add new BitSetSet support to reduce segments footprint
> # Support concurrent activations properly (this is also an issue with state transfer)
> # Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
> # Rewrite cache loader to use a spliterator which allows for a more performant forEachRemaining and possibly better parallel split values
> # Look into adding BitSetSet to store segment sets instead of Set<Integer>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months
[JBoss JIRA] (ISPN-5596) "Cannot clear data directory" in SoftIndexFileStore when clear() is called after stopping and restarting cache
by Andreas Pabst (JIRA)
[ 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)
8 years, 9 months
[JBoss JIRA] (ISPN-5596) "Cannot clear data directory" in SoftIndexFileStore when clear() is called after stopping and restarting cache
by Andreas Pabst (JIRA)
[ https://issues.jboss.org/browse/ISPN-5596?page=com.atlassian.jira.plugin.... ]
Andreas Pabst updated ISPN-5596:
--------------------------------
Attachment: SoftIndexFileStoreTest.java
The test case
> "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)
8 years, 9 months
[JBoss JIRA] (ISPN-5596) "Cannot clear data directory" in SoftIndexFileStore when clear() is called after stopping and restarting cache
by Andreas Pabst (JIRA)
[ https://issues.jboss.org/browse/ISPN-5596?page=com.atlassian.jira.plugin.... ]
Andreas Pabst updated ISPN-5596:
--------------------------------
Attachment: test.log
the test case output
> "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)
8 years, 9 months
[JBoss JIRA] (ISPN-4220) RemoteCacheManager.getCache may ignore the forceReturnValue flag
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4220?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4220:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 8.0.0.Beta3
7.2.4.Final
Resolution: Done
> RemoteCacheManager.getCache may ignore the forceReturnValue flag
> ----------------------------------------------------------------
>
> Key: ISPN-4220
> URL: https://issues.jboss.org/browse/ISPN-4220
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 6.0.2.Final, 7.0.0.Alpha3
> Reporter: Radim Vansa
> Assignee: Galder Zamarreño
> Fix For: 8.0.0.Beta3, 7.2.4.Final
>
>
> {code}
> RemoteCacheManager manager = ...;
> Cache noReturnCache = manager.getCache("foo", false);
> Cache returnValueCache = manager.getCache("foo", true);
> {code}
> The second returned cache will use forceReturnValue=false, although it was retrieved with forceReturnValue=true. The reason is that caches are stored in a map by name, ignoring this flag.
> There should be two such maps. The question is what should getCache("foo") return if previously only getCache("foo", true) was called.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months
[JBoss JIRA] (ISPN-4220) RemoteCacheManager.getCache may ignore the forceReturnValue flag
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4220?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4220:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/3608
> RemoteCacheManager.getCache may ignore the forceReturnValue flag
> ----------------------------------------------------------------
>
> Key: ISPN-4220
> URL: https://issues.jboss.org/browse/ISPN-4220
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 6.0.2.Final, 7.0.0.Alpha3
> Reporter: Radim Vansa
> Assignee: Galder Zamarreño
> Fix For: 8.0.0.Beta3, 7.2.4.Final
>
>
> {code}
> RemoteCacheManager manager = ...;
> Cache noReturnCache = manager.getCache("foo", false);
> Cache returnValueCache = manager.getCache("foo", true);
> {code}
> The second returned cache will use forceReturnValue=false, although it was retrieved with forceReturnValue=true. The reason is that caches are stored in a map by name, ignoring this flag.
> There should be two such maps. The question is what should getCache("foo") return if previously only getCache("foo", true) was called.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
8 years, 9 months