Galder Zamarreño created ISPN-6966:
--------------------------------------
Summary: Event logger errors in preloading events ignored
Key: ISPN-6966
URL:
https://issues.jboss.org/browse/ISPN-6966
Project: Infinispan
Issue Type: Bug
Affects Versions: 8.2.4.Final, 9.0.0.Alpha4
Reporter: Galder Zamarreño
If any errors arise from event logger calls in
org.infinispan.topology.ClusterTopologyManagerImpl$ClusterViewListener, these are ignored
and simply logged to the standard output, e.g.
{code}
08:09:12,228 ERROR
[org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifierImpl]
(Incoming-2,node1) ISPN000405: Caught exception while invoking a cache manager listener!:
org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception
[org.infinispan.persistence.spi.PersistenceException] while invoking method [public void
org.infinispan.topology.ClusterTopologyManagerImpl$ClusterViewListener.handleViewChange(org.infinispan.notifications.cachemanagerlistener.event.ViewChangedEvent)]
on listener instance:
org.infinispan.topology.ClusterTopologyManagerImpl$ClusterViewListener@79b19ac9
at
org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:302)
at
org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:20)
at
org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:320)
at
org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifierImpl.invokeListener(CacheManagerNotifierImpl.java:132)
at
org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifierImpl.notifyViewChange(CacheManagerNotifierImpl.java:88)
at
org.infinispan.remoting.transport.jgroups.JGroupsTransport$NotifyViewChange.emitNotification(JGroupsTransport.java:841)
at
org.infinispan.remoting.transport.jgroups.JGroupsTransport.viewAccepted(JGroupsTransport.java:917)
at org.jgroups.blocks.MessageDispatcher.handleUpEvent(MessageDispatcher.java:618)
at
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:666)
at org.jgroups.JChannel.up(JChannel.java:738)
at org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:124)
at org.jgroups.stack.Protocol.up(Protocol.java:380)
at org.jgroups.protocols.FORK.up(FORK.java:118)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:165)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:390)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:390)
at org.jgroups.protocols.pbcast.GMS.installView(GMS.java:730)
at
org.jgroups.protocols.pbcast.ParticipantGmsImpl.handleViewChange(ParticipantGmsImpl.java:140)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:917)
at org.jgroups.stack.Protocol.up(Protocol.java:418)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:294)
at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:480)
at org.jgroups.protocols.pbcast.NAKACK2.deliverBatch(NAKACK2.java:987)
at org.jgroups.protocols.pbcast.NAKACK2.removeAndPassUp(NAKACK2.java:917)
at org.jgroups.protocols.pbcast.NAKACK2.handleMessage(NAKACK2.java:851)
at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:611)
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155)
at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:310)
at org.jgroups.protocols.MERGE3.up(MERGE3.java:285)
at org.jgroups.protocols.Discovery.up(Discovery.java:296)
at org.jgroups.protocols.TP.passMessageUp(TP.java:1601)
at org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1817)
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: org.infinispan.persistence.spi.PersistenceException: Execution exception!
at
org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:549)
at
org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:257)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
at
org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:867)
at
org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:633)
at
org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:622)
at
org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:547)
at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:231)
at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:808)
at
org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:637)
at
org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:588)
at
org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:453)
at
org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:439)
at
org.infinispan.server.eventlogger.ServerEventLogger.getEventCache(ServerEventLogger.java:53)
at
org.infinispan.server.eventlogger.ServerEventLogger.eventLog(ServerEventLogger.java:69)
at
org.infinispan.server.eventlogger.ServerEventLogger.log(ServerEventLogger.java:61)
at org.infinispan.util.logging.events.EventLogger.info(EventLogger.java:40)
at
org.infinispan.topology.ClusterTopologyManagerImpl.lambda$logNodeLeft$464(ClusterTopologyManagerImpl.java:756)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at
org.infinispan.topology.ClusterTopologyManagerImpl.logNodeLeft(ClusterTopologyManagerImpl.java:756)
at
org.infinispan.topology.ClusterTopologyManagerImpl.access$400(ClusterTopologyManagerImpl.java:76)
at
org.infinispan.topology.ClusterTopologyManagerImpl$ClusterViewListener.handleViewChange(ClusterTopologyManagerImpl.java:720)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
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:297)
... 35 more
Caused by: java.util.concurrent.ExecutionException:
org.infinispan.persistence.spi.PersistenceException:
org.infinispan.commons.CacheException: Error reading from input to find externalizer
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at
org.infinispan.executors.ExecutorAllCompletionService.pollUntilEmpty(ExecutorAllCompletionService.java:48)
at
org.infinispan.executors.ExecutorAllCompletionService.submit(ExecutorAllCompletionService.java:32)
at
org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:531)
... 73 more
Caused by: org.infinispan.persistence.spi.PersistenceException:
org.infinispan.commons.CacheException: Error reading from input to find externalizer
at
org.infinispan.marshall.core.MarshalledEntryImpl.unmarshall(MarshalledEntryImpl.java:116)
at
org.infinispan.marshall.core.MarshalledEntryImpl.getValue(MarshalledEntryImpl.java:61)
at
org.infinispan.persistence.manager.PersistenceManagerImpl$1.processEntry(PersistenceManagerImpl.java:265)
at
org.infinispan.persistence.file.SingleFileStore$2.call(SingleFileStore.java:537)
at
org.infinispan.persistence.file.SingleFileStore$2.call(SingleFileStore.java:531)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:20)
at
java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)
at
org.infinispan.executors.ExecutorAllCompletionService.submit(ExecutorAllCompletionService.java:31)
... 74 more
Caused by: org.infinispan.commons.CacheException: Error reading from input to find
externalizer
at
org.infinispan.marshall.core.internal.InternalExternalizerTable.findReadExternalizer(InternalExternalizerTable.java:281)
at
org.infinispan.marshall.core.internal.BytesObjectInput.readObject(BytesObjectInput.java:31)
at
org.infinispan.server.eventlogger.ServerEventImpl$Externalizer.readObject(ServerEventImpl.java:128)
at
org.infinispan.server.eventlogger.ServerEventImpl$Externalizer.readObject(ServerEventImpl.java:110)
at
org.infinispan.marshall.core.internal.InternalExternalizerTable$ForeignExternalizerAdapter.readObject(InternalExternalizerTable.java:495)
at
org.infinispan.marshall.core.internal.InternalMarshaller.objectFromObjectInput(InternalMarshaller.java:90)
at
org.infinispan.marshall.core.internal.InternalMarshaller.objectFromByteBuffer(InternalMarshaller.java:127)
at
org.infinispan.marshall.core.GlobalMarshaller.objectFromByteBuffer(GlobalMarshaller.java:99)
at
org.infinispan.marshall.core.MarshalledEntryImpl.unmarshall(MarshalledEntryImpl.java:114)
... 84 more
Caused by: org.infinispan.commons.CacheException: Unknown externalizer type: 115
at
org.infinispan.marshall.core.internal.InternalExternalizerTable.findReadExternalizer(InternalExternalizerTable.java:242)
... 92 more
{code}
This is a general problem with listeners, but the question here is whether the
Cache/CacheManager should fail to start under such situation. Right now that causes no
issues.
Btw, the actual issue was introduced in my changes for ISPN-6906 and this has now been
fixed.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)