]
Martin Gencur reassigned ISPN-5797:
-----------------------------------
Assignee: William Burns
NullPointerException in ClientListenerRegistry under load
---------------------------------------------------------
Key: ISPN-5797
URL:
https://issues.jboss.org/browse/ISPN-5797
Project: Infinispan
Issue Type: Bug
Components: Expiration, Listeners
Affects Versions: 8.0.1.Final
Reporter: Martin Gencur
Assignee: William Burns
This exception occurs when sending a lot of Get/Put requests for entries with predefined
lifespan and listening for ClientCacheEntryExpired events.
{code}
17:40:06,781 INFO [org.radargun.RemoteMasterConnection] (sc-main)
Response successfully sent to the master
[0m[31m17:40:06,924 ERROR
[org.infinispan.interceptors.InvocationContextInterceptor]
(async-thread--p5-t17) 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@32997e78
at
org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:291)
at
org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:21)
at
org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:309)
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:1213)
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:1208)
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:1185)
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryExpired(CacheNotifierImpl.java:448)
at
org.infinispan.commands.write.RemoveExpiredCommand.notify(RemoveExpiredCommand.java:112)
at
org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.notifyCommitEntry(ClusteringDependentLogic.java:137)
at
org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitSingleEntry(ClusteringDependentLogic.java:546)
at
org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:114)
at
org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:482)
at
org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:660)
at
org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:459)
at
org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:533)
at
org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:564)
at
org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:255)
at
org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
at
org.infinispan.expiration.impl.ExpirationInterceptor.handleWriteCommand(ExpirationInterceptor.java:60)
at
org.infinispan.expiration.impl.ExpirationInterceptor.visitRemoveCommand(ExpirationInterceptor.java:30)
at
org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at
org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:95)
at
org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40)
at
org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitRemoveCommand(AbstractLockingInterceptor.java:71)
at
org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at
org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:356)
at
org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:288)
at
org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:123)
at
org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at
org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:209)
at
org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
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:48)
at
org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:59)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
at
org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:48)
at
org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:59)
at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)
at
org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1634)
at
org.infinispan.cache.impl.CacheImpl.removeExpired(CacheImpl.java:567)
at
org.infinispan.expiration.impl.ClusterExpirationManager.removeExpired(ClusterExpirationManager.java:111)
at
org.infinispan.expiration.impl.ClusterExpirationManager.lambda$handleLifespanExpireEntry$224(ClusterExpirationManager.java:102)
at
org.infinispan.expiration.impl.ClusterExpirationManager$$Lambda$29/1473436203.run(Unknown
Source)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at
org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(ClientListenerRegistry.scala:186)
at sun.reflect.GeneratedMethodAccessor29.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)
... 55 more
{code}