New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Event Distribution for cache store event channel does not fail over to another cachestore when a JVM is stopped #106
Comments
Reported by naheedmk |
@brianoliver said:
eg: |
@brianoliver said: Interestingly I could only reproduce this reliably when running on a later (unreleased) version of Coherence, but regardless it is an issue. This will be resolved in the next patch Coherence Incubator release (patch) 12.2.1 |
@naheedmk said: The exception is Caused by: (Wrapped) java.io.NotSerializableException: com.tangosol.coherence.config.scheme.ClassScheme Use case details : Put a Pojo to a cache that has cache scheme configured to pushreplication publishing cache store. And push replication has 2 channels one is cachestore channel and another is remote cluster channel. Inside Update billing profile is com.intuit.schema.enterprisecommerce.billing.profile.v1.BillingProfile@1299da96[billingProfileId=TRN-58XV6BR, preferred=false, name=TRN-58XV6BR, customerAccountNumber=845093002, accountId=, status=Active, dayOfMonth=14, description=, contactNumber=2422233, contactId=, paymentMethod=com.intuit.schema.enterprisecommerce.billing.profile.v1.BillingProfile$PaymentMethod@17ed2802[creditCard=com.intuit.schema.enterprisecommerce.billing.profile.v1.BillingProfile$PaymentMethod$CreditCard@52dda793[cardHolderName=Discover card user, accountType=DISCOVER, accountNumber=XXXXXXXXXXXX0000, expirationMonth=12, expirationYear=2014], eft=], addressNumber=5714955, addressId=] thanks |
@brianoliver said: Are you using Coherence 12.1.2.0.1+? In 12.1.2.0.0 the class wasn't serializable. In 12.1.2.0.1+ it is. – Brian |
@naheedmk said: Thanks |
@naheedmk said: Thanks |
@brianoliver said: Can you attach your Cache Configuration file and possibly your CacheStore? – Brian |
@naheedmk said: Thanks |
@brianoliver said: |
@brianoliver said: If you change the in your cache store configuration to be , it should all work. The example you sent me works when I've done this (no longer fails). I'll update the documentation for this issue and raise an issue against the Coherence Product to make serializable. Thanks for you helps locating this issue. – Brian |
@brianoliver said: Instead what we'll do is "re-write" / "transform" uses of with in the Event Distribution configuration as schemes. This ensure backwards compatibility. |
This issue was imported from JIRA COHINC-106 |
I see an issue on even processor framework when I tested fail over cases, not sure if that due to any incorrect configuration. I ran 2 separate cache server jvm and did an update, it worked correctly. Killed one of the cache server JVMs, and tested the updated use case, it failed with following exception. Expectation is the other JVM needs to process that, but it throws the error as below
re Cache}, controllerDependencies=AbstractEventChannelController.Dependencies
{ch annelName=cachestore Cache, externalName=Site1:cluster:0xA6DB:UpdateBillingProfi leEntity:cachestore Cache, eventChannelBuilder=com.oracle.coherence.patterns.eve ntdistribution.channels.CacheStoreEventChannelBuilder@65582116, transformerBuild er=null, startingMode=ENABLED, batchDistributionDelayMS=1000, batchSize=100, res tartDelay=10000, totalConsecutiveFailuresBeforeSuspended=-1, eventPollingDelay=1 000}
, cacheName=UpdateBillingProfileEntity, resolver=com.tangosol.config.express
ion.ScopedParameterResolver@7ce45f54}]
at com.oracle.coherence.common.liveobjects.LiveObjectEventInterceptor.on
Event(LiveObjectEventInterceptor.java:215)
at com.tangosol.net.events.internal.NamedEventInterceptor.onEvent(NamedE
ventInterceptor.java:258)
at com.tangosol.net.events.internal.AbstractEvent.nextInterceptor(Abstra
ctEvent.java:116)
at com.tangosol.net.events.internal.AbstractEvent.dispatch(AbstractEvent
.java:154)
at com.tangosol.net.events.internal.AbstractEventDispatcher$4.proceed(Ab
stractEventDispatcher.java:270)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.g
rid.PartitionedService$Continuations$Task.run(PartitionedService.CDB:6)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service$E
ventDispatcher.onNotify(Service.CDB:26)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:51)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.oracle.coherence.common.liveobjects.LiveObjectEventInterceptor.on
Event(LiveObjectEventInterceptor.java:211)
... 8 more
Caused by: java.lang.NullPointerException
at com.oracle.coherence.patterns.eventdistribution.distributors.coherenc
e.CoherenceEventChannelSubscription.onEntryUpdated(CoherenceEventChannelSubscrip
tion.java:271)
... 13 more
The text was updated successfully, but these errors were encountered: