[infinispan-issues] [JBoss JIRA] (ISPN-5531) java.lang.UnsupportedOperationException during remove (using RemoteCacheManager)

William Burns (JIRA) issues at jboss.org
Tue Jun 9 08:52:05 EDT 2015


    [ https://issues.jboss.org/browse/ISPN-5531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13076027#comment-13076027 ] 

William Burns commented on ISPN-5531:
-------------------------------------

I am still unable to see how this could happen in an error free system.

Is it possible that you had a previous invocation where a listener threw an exception?  If so that is the only way I can see to possibly reproduce this issue.

Also a few other things if the previous is not true:

# Please provide the server configuration
# You mention hotrod is in library mode... does that mean you are running the hotrod server in your own JVM instead of via the server?  If so are you running local operations as well, running in what would be called as hybrid mode?
# How many cluster listeners do you have installed?

> java.lang.UnsupportedOperationException during remove (using RemoteCacheManager)
> --------------------------------------------------------------------------------
>
>                 Key: ISPN-5531
>                 URL: https://issues.jboss.org/browse/ISPN-5531
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 7.2.2.Final
>            Reporter: Enrico Olivelli
>
> during a "remove" from a java HotRod client we got this error.
> This error happens only when there are more than one hotrod server in the cluster.
> We are using hotrod server in library mode (embedded)
> {code}
>  15/06/09 08:05:34 ERROR interceptors.InvocationContextInterceptor: ISPN000136: Execution error
>  org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [java.lang.UnsupportedOperationException] while invoking method [public void org.infinispan.n
> otifications.cachelistener.cluster.RemoteClusterListener.handleClusterEvents(org.infinispan.notifications.cachelistener.event.CacheEntryEvent) throws java.lang.Exception] on listener instance: org.infinispan.not
> ifications.cachelistener.cluster.RemoteClusterListener at 28d94aee
>        at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:291)
>        at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22)
>        at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:309)
>        at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:1180)
>        at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:1175)
>        at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:1152)
>        at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:333)
>        at org.infinispan.commands.write.RemoveCommand.notify(RemoveCommand.java:97)
>        at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.notifyCommitEntry(ClusteringDependentLogic.java:130)
>        at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitSingleEntry(ClusteringDependentLogic.java:493)
>        at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:108)
>        at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:371)
>        at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:549)
>        at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:348)
>        at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:422)
>        at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:453)
>        at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:252)
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
>        at org.infinispan.interceptors.distribution.L1LastChanceInterceptor.visitDataWriteCommand(L1LastChanceInterceptor.java:79)
>        at org.infinispan.interceptors.distribution.L1LastChanceInterceptor.visitRemoveCommand(L1LastChanceInterceptor.java:75)
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
>        at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:88)
>        at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40)
>        at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitRemoveCommand(AbstractLockingInterceptor.java:65)
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
>        at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)
>        at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:49)
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
>        at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:324)
>        at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:256)
>        at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:130)
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
>        at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:209)
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
>        at org.infinispan.interceptors.compat.BaseTypeConverterInterceptor.visitRemoveCommand(BaseTypeConverterInterceptor.java:228
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)
>        at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102)
>        at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71)
>        at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:49)
>        at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
>        at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)
>        at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1617)
>        at org.infinispan.cache.impl.CacheImpl.removeInternal(CacheImpl.java:579)
>        at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:572)
>        at org.infinispan.cache.impl.DecoratedCache.remove(DecoratedCache.java:442)
>        at org.infinispan.server.hotrod.CacheDecodeContext.remove(CacheDecodeContext.scala:235)
>        at org.infinispan.server.hotrod.HotRodDecoder.handleModification(HotRodDecoder.scala:216)
>        at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$hotrod$HotRodDecoder$$decodeKey(HotRodDecoder.scala:102)
>        at org.infinispan.server.hotrod.HotRodDecoder$$anonfun$decode$1.apply$mcV$sp(HotRodDecoder.scala:48)
>        at org.infinispan.server.hotrod.HotRodDecoder$$anon$1.run(HotRodDecoder.scala:206)
>        at org.infinispan.server.hotrod.HotRodDecoder$$anon$1.run(HotRodDecoder.scala:205)
>        at org.infinispan.security.Security.doAs(Security.java:143)
>        at org.infinispan.server.hotrod.HotRodDecoder.wrapSecurity(HotRodDecoder.scala:205)
>        at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.scala:45)
>        at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:370)
>        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:168)
>        at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$core$transport$StatsChannelHandler$$super$channelRead(HotRodDecoder.scala:31)
>        at org.infinispan.server.core.transport.StatsChannelHandler$class.channelRead(StatsChannelHandler.scala:32)
>        at org.infinispan.server.hotrod.HotRodDecoder.channelRead(HotRodDecoder.scala:31)
>        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
>        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
>        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
>        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
>        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
>        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
>        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
>        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
>        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
>        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
>        at java.lang.Thread.run(Thread.java:745)
>  Caused by: java.lang.UnsupportedOperationException
>        at java.util.AbstractCollection.add(AbstractCollection.java:262)
>        at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
>        at org.infinispan.notifications.cachelistener.cluster.impl.BatchingClusterEventManagerImpl$UnicastEventContext.addTargets(BatchingClusterEventManagerImpl.java:82)
>        at org.infinispan.notifications.cachelistener.cluster.impl.BatchingClusterEventManagerImpl.addEvents(BatchingClusterEventManagerImpl.java:43)
>        at org.infinispan.notifications.cachelistener.cluster.RemoteClusterListener.handleClusterEvents(RemoteClusterListener.java:108)
>        at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:497)
>        at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:286)
>        ... 76 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the infinispan-issues mailing list