[JBoss JIRA] (ISPN-4945) Remote listener can fail with NPE
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4945?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-4945:
-----------------------------------
Affects Version/s: 7.0.0.Final
> Remote listener can fail with NPE
> ---------------------------------
>
> Key: ISPN-4945
> URL: https://issues.jboss.org/browse/ISPN-4945
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.0.0.Final
> Reporter: Vojtech Juranek
> Assignee: Galder Zamarreño
>
> When event sender generates the event, it access metadata which can be {{null}} and thus it fails with NPE:
> {noformat}
> [0m[31m09:46:22,182 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-7-17) ISPN000136: Execution error: org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [java.lang.NullPointerException] while invoking method [public void org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(org.infinispan.notifications.cachelistener.event.CacheEntryEvent)] on listener instance: org.infinispan.server.hotrod.ClientListenerRegistry$StatelessClientEventSender@2a39f240
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:286) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:304) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:986) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:981) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:962) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:278) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.notifyCommitEntry(ClusteringDependentLogic.java:111) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitEntry(ClusteringDependentLogic.java:475) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:359) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:577) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:336) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:410) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:464) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:234) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitRemoveCommand(NonTransactionalLockingInterceptor.java:83) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:172) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:110) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:166) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.removeInternal(CacheImpl.java:504) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:497) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:287) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.remove(AbstractProtocolDecoder.scala:322) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.handleModification(AbstractProtocolDecoder.scala:179) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeKey(AbstractProtocolDecoder.scala:166) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decodeDispatch(AbstractProtocolDecoder.scala:71) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:61) [infinispan.jar:7.0.0.CR1]
> at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at org.infinispan.server.core.AbstractProtocolDecoder.channelRead(AbstractProtocolDecoder.scala:471) [infinispan.jar:7.0.0.CR1]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
> Caused by: java.lang.NullPointerException
> at org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(ClientListenerRegistry.scala:161) [infinispan.jar:7.0.0.CR1]
> at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) [:1.7.0_67]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_67]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:281) [infinispan-core.jar:7.0.0.CR1]
> ... 62 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 5 months
[JBoss JIRA] (ISPN-4945) Remote listener can fail with NPE
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4945?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-4945:
-----------------------------------
Fix Version/s: 7.1.0.Alpha1
7.0.1.Final
> Remote listener can fail with NPE
> ---------------------------------
>
> Key: ISPN-4945
> URL: https://issues.jboss.org/browse/ISPN-4945
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.0.0.Final
> Reporter: Vojtech Juranek
> Assignee: Galder Zamarreño
> Fix For: 7.1.0.Alpha1, 7.0.1.Final
>
>
> When event sender generates the event, it access metadata which can be {{null}} and thus it fails with NPE:
> {noformat}
> [0m[31m09:46:22,182 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-7-17) ISPN000136: Execution error: org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [java.lang.NullPointerException] while invoking method [public void org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(org.infinispan.notifications.cachelistener.event.CacheEntryEvent)] on listener instance: org.infinispan.server.hotrod.ClientListenerRegistry$StatelessClientEventSender@2a39f240
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:286) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:304) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:986) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:981) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:962) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:278) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.notifyCommitEntry(ClusteringDependentLogic.java:111) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitEntry(ClusteringDependentLogic.java:475) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:359) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:577) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:336) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:410) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:464) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:234) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitRemoveCommand(NonTransactionalLockingInterceptor.java:83) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:172) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:110) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:166) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.removeInternal(CacheImpl.java:504) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:497) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:287) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.remove(AbstractProtocolDecoder.scala:322) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.handleModification(AbstractProtocolDecoder.scala:179) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeKey(AbstractProtocolDecoder.scala:166) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decodeDispatch(AbstractProtocolDecoder.scala:71) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:61) [infinispan.jar:7.0.0.CR1]
> at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at org.infinispan.server.core.AbstractProtocolDecoder.channelRead(AbstractProtocolDecoder.scala:471) [infinispan.jar:7.0.0.CR1]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
> Caused by: java.lang.NullPointerException
> at org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(ClientListenerRegistry.scala:161) [infinispan.jar:7.0.0.CR1]
> at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) [:1.7.0_67]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_67]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:281) [infinispan-core.jar:7.0.0.CR1]
> ... 62 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 5 months
[JBoss JIRA] (ISPN-4945) Remote listener can fail with NPE
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4945?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-4945:
-----------------------------------
Fix Version/s: (was: 7.1.0.Alpha1)
> Remote listener can fail with NPE
> ---------------------------------
>
> Key: ISPN-4945
> URL: https://issues.jboss.org/browse/ISPN-4945
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.0.0.Final
> Reporter: Vojtech Juranek
> Assignee: Galder Zamarreño
> Fix For: 7.0.1.Final
>
>
> When event sender generates the event, it access metadata which can be {{null}} and thus it fails with NPE:
> {noformat}
> [0m[31m09:46:22,182 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-7-17) ISPN000136: Execution error: org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [java.lang.NullPointerException] while invoking method [public void org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(org.infinispan.notifications.cachelistener.event.CacheEntryEvent)] on listener instance: org.infinispan.server.hotrod.ClientListenerRegistry$StatelessClientEventSender@2a39f240
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:286) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:304) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:986) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:981) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:962) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:278) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.notifyCommitEntry(ClusteringDependentLogic.java:111) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitEntry(ClusteringDependentLogic.java:475) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:359) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:577) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:336) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:410) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:464) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:234) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitRemoveCommand(NonTransactionalLockingInterceptor.java:83) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:172) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:110) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:166) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.removeInternal(CacheImpl.java:504) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:497) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:287) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.remove(AbstractProtocolDecoder.scala:322) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.handleModification(AbstractProtocolDecoder.scala:179) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeKey(AbstractProtocolDecoder.scala:166) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decodeDispatch(AbstractProtocolDecoder.scala:71) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:61) [infinispan.jar:7.0.0.CR1]
> at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at org.infinispan.server.core.AbstractProtocolDecoder.channelRead(AbstractProtocolDecoder.scala:471) [infinispan.jar:7.0.0.CR1]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
> Caused by: java.lang.NullPointerException
> at org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(ClientListenerRegistry.scala:161) [infinispan.jar:7.0.0.CR1]
> at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) [:1.7.0_67]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_67]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:281) [infinispan-core.jar:7.0.0.CR1]
> ... 62 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 5 months
[JBoss JIRA] (ISPN-4945) Remote listener can fail with NPE
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4945?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño reassigned ISPN-4945:
--------------------------------------
Assignee: Galder Zamarreño
> Remote listener can fail with NPE
> ---------------------------------
>
> Key: ISPN-4945
> URL: https://issues.jboss.org/browse/ISPN-4945
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.0.0.Final
> Reporter: Vojtech Juranek
> Assignee: Galder Zamarreño
> Fix For: 7.0.1.Final
>
>
> When event sender generates the event, it access metadata which can be {{null}} and thus it fails with NPE:
> {noformat}
> [0m[31m09:46:22,182 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-7-17) ISPN000136: Execution error: org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception [java.lang.NullPointerException] while invoking method [public void org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(org.infinispan.notifications.cachelistener.event.CacheEntryEvent)] on listener instance: org.infinispan.server.hotrod.ClientListenerRegistry$StatelessClientEventSender@2a39f240
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:286) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:304) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:986) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:981) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:962) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:278) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.notifyCommitEntry(ClusteringDependentLogic.java:111) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitEntry(ClusteringDependentLogic.java:475) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:359) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:577) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:336) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:410) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:464) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:234) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitRemoveCommand(NonTransactionalLockingInterceptor.java:83) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:172) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:110) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:166) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.removeInternal(CacheImpl.java:504) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:497) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:492) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.cache.impl.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:287) [infinispan-core.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.remove(AbstractProtocolDecoder.scala:322) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.handleModification(AbstractProtocolDecoder.scala:179) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeKey(AbstractProtocolDecoder.scala:166) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decodeDispatch(AbstractProtocolDecoder.scala:71) [infinispan.jar:7.0.0.CR1]
> at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:61) [infinispan.jar:7.0.0.CR1]
> at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at org.infinispan.server.core.AbstractProtocolDecoder.channelRead(AbstractProtocolDecoder.scala:471) [infinispan.jar:7.0.0.CR1]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.20.Final.jar:4.0.20.Final]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
> Caused by: java.lang.NullPointerException
> at org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(ClientListenerRegistry.scala:161) [infinispan.jar:7.0.0.CR1]
> at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) [:1.7.0_67]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_67]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]
> at org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:281) [infinispan-core.jar:7.0.0.CR1]
> ... 62 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 5 months
[JBoss JIRA] (ISPN-3830) Conditional Operation can fail erroneously during ST
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3830?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3830:
-----------------------------------------------
Vojtech Juranek <vjuranek(a)redhat.com> changed the Status of [bug 1155688|https://bugzilla.redhat.com/show_bug.cgi?id=1155688] from ON_QA to VERIFIED
> Conditional Operation can fail erroneously during ST
> ----------------------------------------------------
>
> Key: ISPN-3830
> URL: https://issues.jboss.org/browse/ISPN-3830
> Project: Infinispan
> Issue Type: Bug
> Components: State Transfer
> Reporter: William Burns
> Assignee: Dan Berindei
> Fix For: 7.0.0.CR2
>
>
> Currently the retry logic for commands is to only throw a OutdatedTopologyException when a command is successful.
> This however can have the following issue.
> k1 owned by N1, N2
> # N3 updates k1 sending conditional command to N1
> # N1 receives command and starts running it (passes topology block)
> # ST occurs causing N1 to no longer be an owner and removes k1 from it's data container.
> # N1 runs optional command and it fails and thus doesn't throw OutdatedTopologyException
> # N3 gets response that command failed, but it could have worked had it gone to a real owner.
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 5 months
[JBoss JIRA] (ISPN-4776) The topology id for the merged cache topology is not always bigger than all the partition topology ids
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-4776?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-4776:
-----------------------------------------------
Vojtech Juranek <vjuranek(a)redhat.com> changed the Status of [bug 1155611|https://bugzilla.redhat.com/show_bug.cgi?id=1155611] from ON_QA to VERIFIED
> The topology id for the merged cache topology is not always bigger than all the partition topology ids
> ------------------------------------------------------------------------------------------------------
>
> Key: ISPN-4776
> URL: https://issues.jboss.org/browse/ISPN-4776
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.0.0.Beta2
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Blocker
> Labels: testsuite_stability
> Fix For: 7.0.0.CR2, 7.0.0.Final
>
>
> With the ISPN-4574 fix, I changed the merge algorithm to pick the partition with the most members (both in the _stable_ topology and in the _current_ topology) instead of the partition with the highest topology id.
> However, the biggest topology is not necessarily the partition with the highest topology id, so it's possible that some nodes will ignore the merged topology because they already have a higher topology installed. This happened once in ClusterTopologyManagerTest.testClusterRecoveryAfterThreeWaySplit:
> {noformat}
> 00:24:59,286 DEBUG (transport-thread-NodeL-p33097-t6:) [ClusterCacheStatus] Recovered 3 partition(s) for cache cache: [CacheTopology{id=8, rebalanceId=3, currentCH=DefaultConsistentHash{ns = 60, owners = (1)[, NodeL-25322: 60+0]}, pendingCH=null, unionCH=null}, CacheTopology{id=6, rebalanceId=3, currentCH=DefaultConsistentHash{ns = 60, owners = (2)[, NodeL-25322: 30+10, NodeN-6727: 30+10]}, pendingCH=DefaultConsistentHash{ns = 60, owners = (2)[, NodeL-25322: 30+30, NodeN-6727: 30+30]}, unionCH=null}, CacheTopology{id=5, rebalanceId=2, currentCH=DefaultConsistentHash{ns = 60, owners = (1)[, NodeM-12972: 60+0]}, pendingCH=null, unionCH=null}]
> 00:24:59,287 DEBUG (transport-thread-NodeL-p33097-t6:) [ClusterCacheStatus] Updating topologies after merge for cache cache, current topology = CacheTopology{id=5, rebalanceId=2, currentCH=DefaultConsistentHash{ns = 60, owners = (1)[, NodeM-12972: 60+0]}, pendingCH=null, unionCH=null}, stable topology = CacheTopology{id=4, rebalanceId=2, currentCH=DefaultConsistentHash{ns = 60, owners = (3)[, NodeL-25322: 20+20, NodeM-12972: 20+20, NodeN-6727: 20+20]}, pendingCH=null, unionCH=null}, availability mode = null
> 00:24:59,287 DEBUG (transport-thread-NodeL-p33097-t6:) [ClusterTopologyManagerImpl] Updating cluster-wide current topology for cache cache, topology = CacheTopology{id=5, rebalanceId=2, currentCH=DefaultConsistentHash{ns = 60, owners = (1)[, NodeM-12972: 60+0]}, pendingCH=null, unionCH=null}, availability mode = null
> 00:24:59,288 TRACE (transport-thread-NodeL-p33097-t3:) [LocalTopologyManagerImpl] Ignoring consistent hash update for cache cache, current topology is 8: CacheTopology{id=5, rebalanceId=2, currentCH=DefaultConsistentHash{ns = 60, owners = (1)[, NodeM-12972: 60+0]}, pendingCH=null, unionCH=null}
> {noformat}
> Failure logs here: http://ci.infinispan.org/viewLog.html?buildId=12364&buildTypeId=Infinispa...
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 5 months
[JBoss JIRA] (ISPN-4958) DefaultCacheManager startCaches do not restart stopped caches
by Mathieu Lachance (JIRA)
[ https://issues.jboss.org/browse/ISPN-4958?page=com.atlassian.jira.plugin.... ]
Mathieu Lachance updated ISPN-4958:
-----------------------------------
Description:
using DefaultCacheManager#startCaches do not start a previously stopped cache:
{code}
CacheManager cacheManager = new DefaultCacheManager();
cacheManager.startCaches("abc");
Cache cache = cacheManager.getCache("abc");
cache.stop();
cacheManager.startCaches("abc");
cache = cacheManager.getCache("abc);
cache.get("def"); // trow IllegalStateException
{code}
{quote}
java.lang.IllegalStateException: Cache 'abc' is in 'TERMINATED' state and so it does not accept new invocations. Either restart it or recreate the cache container.
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:110)
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92)
at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:104)
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343)
at org.infinispan.CacheImpl.get(CacheImpl.java:289)
at org.infinispan.CacheImpl.get(CacheImpl.java:281)
{quote}
I think the issue is in the thread that will call the {{createCache(cacheName)}}.
By looking at the 7.0.0.Final source code:
{code}
String threadName = "CacheStartThread," + globalConfiguration.transport().nodeName() + "," + cacheName;
Thread thread = new Thread(threadName) {
@Override
public void run() {
try {
createCache(cacheName);
} catch (RuntimeException e) {
exception.set(e);
} catch (Throwable t) {
exception.set(new RuntimeException(t));
}
}
};
{code}
I think we should do instead something like the following:
{code}
String threadName = "CacheStartThread," + globalConfiguration.transport().nodeName() + "," + cacheName;
Thread thread = new Thread(threadName) {
@Override
public void run() {
try {
Cache cache = getCache(cacheName, false);
if (cache == null) {
createCache(cacheName);
}
else {
if (!ComponentStatus.RUNNING.equals(cache.getStatus())) {
cache.start();
}
}
} catch (RuntimeException e) {
exception.set(e);
} catch (Throwable t) {
exception.set(new RuntimeException(t));
}
}
};
{code}
was:
using DefaultCacheManager#startCaches do not start a previously stopped cache:
{code}
CacheManager cacheManager = new DefaultCacheManager();
cacheManager.startCaches("abc");
Cache cache = cacheManager.getCache("abc");
cache.stop();
cacheManager.startCaches("abc");
cache = cacheManager.getCache("abc);
cache.get("def"); // trow IllegalStateException
{code}
{quote}
java.lang.IllegalStateException: Cache 'abc' is in 'TERMINATED' state and so it does not accept new invocations. Either restart it or recreate the cache container.
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:110)
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92)
at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:104)
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343)
at org.infinispan.CacheImpl.get(CacheImpl.java:289)
at org.infinispan.CacheImpl.get(CacheImpl.java:281)
{quote}
I think the issue is in the thread that will call the {{createCache(cacheName)}}.
By looking at the 7.0.0.Final source code:
{code}
String threadName = "CacheStartThread," + globalConfiguration.transport().nodeName() + "," + cacheName;
Thread thread = new Thread(threadName) {
@Override
public void run() {
try {
createCache(cacheName);
} catch (RuntimeException e) {
exception.set(e);
} catch (Throwable t) {
exception.set(new RuntimeException(t));
}
}
};
{code}
I think we should do instead the following:
{code}
String threadName = "CacheStartThread," + globalConfiguration.transport().nodeName() + "," + cacheName;
Thread thread = new Thread(threadName) {
@Override
public void run() {
try {
Cache cache = getCache(cacheName, false);
if (cache == null) {
createCache(cacheName);
}
else {
if (!ComponentStatus.RUNNING.equals(cache.getStatus())) {
cache.start();
}
}
} catch (RuntimeException e) {
exception.set(e);
} catch (Throwable t) {
exception.set(new RuntimeException(t));
}
}
};
{code}
> DefaultCacheManager startCaches do not restart stopped caches
> -------------------------------------------------------------
>
> Key: ISPN-4958
> URL: https://issues.jboss.org/browse/ISPN-4958
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 5.2.7.Final, 7.0.0.Final
> Reporter: Mathieu Lachance
>
> using DefaultCacheManager#startCaches do not start a previously stopped cache:
> {code}
> CacheManager cacheManager = new DefaultCacheManager();
> cacheManager.startCaches("abc");
> Cache cache = cacheManager.getCache("abc");
> cache.stop();
> cacheManager.startCaches("abc");
> cache = cacheManager.getCache("abc);
> cache.get("def"); // trow IllegalStateException
> {code}
> {quote}
> java.lang.IllegalStateException: Cache 'abc' is in 'TERMINATED' state and so it does not accept new invocations. Either restart it or recreate the cache container.
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:110)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92)
> at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:104)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343)
> at org.infinispan.CacheImpl.get(CacheImpl.java:289)
> at org.infinispan.CacheImpl.get(CacheImpl.java:281)
> {quote}
> I think the issue is in the thread that will call the {{createCache(cacheName)}}.
> By looking at the 7.0.0.Final source code:
> {code}
> String threadName = "CacheStartThread," + globalConfiguration.transport().nodeName() + "," + cacheName;
> Thread thread = new Thread(threadName) {
> @Override
> public void run() {
> try {
> createCache(cacheName);
> } catch (RuntimeException e) {
> exception.set(e);
> } catch (Throwable t) {
> exception.set(new RuntimeException(t));
> }
> }
> };
> {code}
> I think we should do instead something like the following:
> {code}
> String threadName = "CacheStartThread," + globalConfiguration.transport().nodeName() + "," + cacheName;
> Thread thread = new Thread(threadName) {
> @Override
> public void run() {
> try {
> Cache cache = getCache(cacheName, false);
> if (cache == null) {
> createCache(cacheName);
> }
> else {
> if (!ComponentStatus.RUNNING.equals(cache.getStatus())) {
> cache.start();
> }
> }
> } catch (RuntimeException e) {
> exception.set(e);
> } catch (Throwable t) {
> exception.set(new RuntimeException(t));
> }
> }
> };
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 5 months