[infinispan-issues] [JBoss JIRA] (ISPN-6966) Event logger errors in preloading events ignored

Galder Zamarreño (JIRA) issues at jboss.org
Tue Aug 23 08:26:00 EDT 2016


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 at 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)



More information about the infinispan-issues mailing list