[JBoss JIRA] (ISPN-4810) Local Transactional Cache loses data when eviction is enabled and there are multiple readers and one writer
by Brett Meyer (JIRA)
[ https://issues.jboss.org/browse/ISPN-4810?page=com.atlassian.jira.plugin.... ]
Brett Meyer commented on ISPN-4810:
-----------------------------------
+1 for also seeing this with JDBC (string-keyed-jdbc-store). EJB clients (so, multiple threads) write, then have to immediately query. After evicition kicks in, the read works only intermittently.
> Local Transactional Cache loses data when eviction is enabled and there are multiple readers and one writer
> -----------------------------------------------------------------------------------------------------------
>
> Key: ISPN-4810
> URL: https://issues.jboss.org/browse/ISPN-4810
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 6.0.2.Final
> Environment: Windows 7 x64 (NTFS)
> Oracle JDK1.7.0_40
> Apache Maven 3.0.5
> Reporter: Horia Chiorean
> Labels: modeshape
> Attachments: ispn_concurrent.zip
>
>
> Using Infinispan 6.0.2 and a local, transactional cache backed by a <singleFile> store, with eviction enabled and a small {{max-entries}} setting, we have the following scenario:
> * the main thread (i.e. the "writer") starts a transaction, adds a batch of strings into the cache and also appends the same strings into a List cache entry and then commits the transaction
> * after the above has finished (i.e. after tx.commit) it fires a number of reader threads where each reader thread
> ** checks that the string entries were added into the cache and
> ** checks that the entries were correctly appended to the List entry
> * the above steps are repeated a number of times
> On any given run, based on timing, we're seeing that at some point (after some time) some of the reader threads will not see the latest version of the List entry (i.e. will not see the latest elements that were added into the list) but rather an old, stale List (sort of a "lost update" scenario).
> If we either:
> * disable eviction or
> * set the {{max-entries}} to a large enough value (which I suspect has the same effect - not evicting anything) the problem doesn't show up.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-5169) During a replication timeout exception, the trace says it will remove the listener when it doesn't.
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-5169?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-5169:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 7.1.0.Final
Resolution: Done
> During a replication timeout exception, the trace says it will remove the listener when it doesn't.
> ---------------------------------------------------------------------------------------------------
>
> Key: ISPN-5169
> URL: https://issues.jboss.org/browse/ISPN-5169
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 7.0.3.Final
> Reporter: Kurt Lehrke
> Fix For: 7.1.0.Final
>
>
> Below you see that it claims it's removing the listener, but in reality, it doesn't. It only removes the listener when it's an IllegalAccessException. It just happens to share the same log message method.
> See:
> * AbstractListenerImpl.java:289
> * Log.java:541
> Below I've copied a stacktrace showing:
> {code}2015-01-20 15:36:44,941 WARN [201 ] CacheManagerNotifierImpl [] ISPN000134: Unable to invoke method public void com.redprairie.moca.cluster.infinispan.GlobalListener.viewAccepted(org.infinispan.notifications.cachemanagerlistener.event.ViewChangedEvent) on Object instance com.redprairie.moca.cluster.infinispan.GlobalListener@306c1c18 - removing this target object from list of listeners! []
> org.infinispan.util.concurrent.TimeoutException: Replication timeout for CH23K150-52279
> at org.infinispan.remoting.transport.AbstractTransport.parseResponseAndAddToResponseList(AbstractTransport.java:113) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:541) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:169) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:190) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:247) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:234) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:229) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:208) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:200) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:297) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:248) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:275) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:166) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitPutKeyValueCommand(NonTransactionalLockingInterceptor.java:71) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:216) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:194) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:136) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:125) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1186) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.putInternal(CacheImpl.java:783) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.put(CacheImpl.java:777) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.put(CacheImpl.java:771) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheSupport.put(CacheSupport.java:53) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at com.redprairie.moca.web.console.MocaClusterAdministration.notifyMembership(MocaClusterAdministration.java:352) ~[moca-server.jar:?]
> at com.redprairie.moca.cluster.infinispan.GlobalListener.viewAccepted(GlobalListener.java:105) ~[classes/:?]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_25]
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
> at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_25]
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:212) [infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.7.0_25]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.7.0_25]
> at java.lang.Thread.run(Unknown Source) [?:1.7.0_25]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-5169) During a replication timeout exception, the trace says it will remove the listener when it doesn't.
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-5169?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-5169:
----------------------------------
Status: Open (was: New)
> During a replication timeout exception, the trace says it will remove the listener when it doesn't.
> ---------------------------------------------------------------------------------------------------
>
> Key: ISPN-5169
> URL: https://issues.jboss.org/browse/ISPN-5169
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 7.0.3.Final
> Reporter: Kurt Lehrke
>
> Below you see that it claims it's removing the listener, but in reality, it doesn't. It only removes the listener when it's an IllegalAccessException. It just happens to share the same log message method.
> See:
> * AbstractListenerImpl.java:289
> * Log.java:541
> Below I've copied a stacktrace showing:
> {code}2015-01-20 15:36:44,941 WARN [201 ] CacheManagerNotifierImpl [] ISPN000134: Unable to invoke method public void com.redprairie.moca.cluster.infinispan.GlobalListener.viewAccepted(org.infinispan.notifications.cachemanagerlistener.event.ViewChangedEvent) on Object instance com.redprairie.moca.cluster.infinispan.GlobalListener@306c1c18 - removing this target object from list of listeners! []
> org.infinispan.util.concurrent.TimeoutException: Replication timeout for CH23K150-52279
> at org.infinispan.remoting.transport.AbstractTransport.parseResponseAndAddToResponseList(AbstractTransport.java:113) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:541) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:169) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:190) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:247) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:234) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:229) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:208) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:200) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:297) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:248) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:275) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:166) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitPutKeyValueCommand(NonTransactionalLockingInterceptor.java:71) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:216) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:194) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:136) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:125) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1186) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.putInternal(CacheImpl.java:783) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.put(CacheImpl.java:777) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.put(CacheImpl.java:771) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheSupport.put(CacheSupport.java:53) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at com.redprairie.moca.web.console.MocaClusterAdministration.notifyMembership(MocaClusterAdministration.java:352) ~[moca-server.jar:?]
> at com.redprairie.moca.cluster.infinispan.GlobalListener.viewAccepted(GlobalListener.java:105) ~[classes/:?]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_25]
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
> at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_25]
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:212) [infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.7.0_25]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.7.0_25]
> at java.lang.Thread.run(Unknown Source) [?:1.7.0_25]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-5169) During a replication timeout exception, the trace says it will remove the listener when it doesn't.
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-5169?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-5169:
----------------------------------
Status: Pull Request Sent (was: Open)
> During a replication timeout exception, the trace says it will remove the listener when it doesn't.
> ---------------------------------------------------------------------------------------------------
>
> Key: ISPN-5169
> URL: https://issues.jboss.org/browse/ISPN-5169
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 7.0.3.Final
> Reporter: Kurt Lehrke
>
> Below you see that it claims it's removing the listener, but in reality, it doesn't. It only removes the listener when it's an IllegalAccessException. It just happens to share the same log message method.
> See:
> * AbstractListenerImpl.java:289
> * Log.java:541
> Below I've copied a stacktrace showing:
> {code}2015-01-20 15:36:44,941 WARN [201 ] CacheManagerNotifierImpl [] ISPN000134: Unable to invoke method public void com.redprairie.moca.cluster.infinispan.GlobalListener.viewAccepted(org.infinispan.notifications.cachemanagerlistener.event.ViewChangedEvent) on Object instance com.redprairie.moca.cluster.infinispan.GlobalListener@306c1c18 - removing this target object from list of listeners! []
> org.infinispan.util.concurrent.TimeoutException: Replication timeout for CH23K150-52279
> at org.infinispan.remoting.transport.AbstractTransport.parseResponseAndAddToResponseList(AbstractTransport.java:113) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:541) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:169) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:190) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:247) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:234) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:229) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:208) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:200) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:297) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:248) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:275) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:166) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitPutKeyValueCommand(NonTransactionalLockingInterceptor.java:71) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:216) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:194) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:136) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:125) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1186) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.putInternal(CacheImpl.java:783) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.put(CacheImpl.java:777) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheImpl.put(CacheImpl.java:771) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at org.infinispan.CacheSupport.put(CacheSupport.java:53) ~[infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at com.redprairie.moca.web.console.MocaClusterAdministration.notifyMembership(MocaClusterAdministration.java:352) ~[moca-server.jar:?]
> at com.redprairie.moca.cluster.infinispan.GlobalListener.viewAccepted(GlobalListener.java:105) ~[classes/:?]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_25]
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
> at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_25]
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:212) [infinispan-core-5.2.5.rp.jar:5.2.5.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.7.0_25]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.7.0_25]
> at java.lang.Thread.run(Unknown Source) [?:1.7.0_25]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-5120) Expose EmbeddedCacheManager/Cache via JCacheManager/JCache unwrap(...) methods
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-5120?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-5120:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Expose EmbeddedCacheManager/Cache via JCacheManager/JCache unwrap(...) methods
> ------------------------------------------------------------------------------
>
> Key: ISPN-5120
> URL: https://issues.jboss.org/browse/ISPN-5120
> Project: Infinispan
> Issue Type: Feature Request
> Components: JCache
> Affects Versions: 7.0.3.Final
> Reporter: Paul Ferraro
> Assignee: Galder Zamarreño
> Fix For: 7.1.0.Final
>
>
> The JSR-107 spec includes the CacheManager.unwrap(Class) and Cache.unwrap(Class) methods to allow access to underlying caching implementation. Currently, I can only unwrap the Cache/CacheManager instance to the concrete JCache/JCacheManager implementations. However, these classes do not expose the underlying infinispan Cache/EmbeddedCacheManager.
> Ideally, I should be able to do the following:
> {code}
> javax.cache.Cache<K, V> jcache = Caching.getCache("name", ...);
> org.infinispan.Cache<K, V> icache = jcache.unwrap(org.infinispan.Cache.class);
> {code}
> or
> {code}
> CacheManager jmanager = Caching.getCachingProvider().getCacheManager();
> EmbeddedCacheManager imanager = jmanager.unwrap(EmbeddedCacheManager.class);
> CacheContainer container = jmanager.unwrap(CacheContainer.class);
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-5180) Hot Rod type converter in Compatibility should not marshall a byte[] again
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-5180?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-5180:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Hot Rod type converter in Compatibility should not marshall a byte[] again
> --------------------------------------------------------------------------
>
> Key: ISPN-5180
> URL: https://issues.jboss.org/browse/ISPN-5180
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 7.0.3.Final, 7.1.0.CR2
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Priority: Critical
> Labels: compatibility
> Fix For: 7.1.0.Final
>
>
> When compatibility is enabled, storing a java serialized object with REST, and then retrieving it with Hot Rod results in byte[] being returned instead of the deserilialized object:
> {code}java.lang.AssertionError:
> Expected :org.infinispan.it.compatibility.EmbeddedRestHotRodTest$Person@22cd6f
> Actual :[B@2ff9eb2a
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
> at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
> at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)
> at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:88)
> at org.infinispan.it.compatibility.EmbeddedRestHotRodTest.testCustomObjectRestPutHotRodEmbeddedGet(EmbeddedRestHotRodTest.java:217)
> {code}
> This is because when the entry is retrieved by Hot Rod and it's going to marshall it for sending it back to the client, it should check if the entry is already a byte[], in which case it should not touch it.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (ISPN-5129) Add a clustered transactional cache example for Infinispan Server
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-5129?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-5129:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Add a clustered transactional cache example for Infinispan Server
> -----------------------------------------------------------------
>
> Key: ISPN-5129
> URL: https://issues.jboss.org/browse/ISPN-5129
> Project: Infinispan
> Issue Type: Task
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 7.1.0.Final
>
>
> We should add a transactional cache example as a separate configuration in docs/examples folder.
> There's no such example at the moment, and this is really needed in order to avoid WARN messages when conditional versioned operations are used, e.g.
> {code}
> 08:38:08,920 WARN [org.infinispan.server.hotrod.Decoder2x$] (HotRodServerWorker-6-8) ISPN006010:
> Conditional operation 'ReplaceIfUnmodifiedRequest' should be used with transactional caches, otherwise data inconsistency issues could arise under failure situations
> {code}
> Also, this WARN message should only appear when the cache is clustered and there's > 1 node in the cluster, but currently it also appears in local caches, but this is a different issue...
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months