2

I am getting the following errors from the deployer when it tries to broadcast to the Cache Channel Service. Does anyone have any ideas what may cause this in SDL Web 8?

2017-03-29 20:53:25,457 DEBUG CacheFactory - Flushing all connected and local caches
2017-03-29 20:53:25,472 ERROR CacheChannel - CacheChannel error while delivering event.
com.tridion.cache.CacheException: Unable to broadcast event
    at com.tridion.cache.RMICacheChannelConnector.broadcastEvent(RMICacheChannelConnector.java:131) ~[cd_cache-8.1.1-1015.jar:8.1.1-1015]
    at com.tridion.cache.CacheChannel$EventThread.processQueue(CacheChannel.java:609) [cd_cache-8.1.1-1015.jar:8.1.1-1015]
    at com.tridion.cache.CacheChannel$EventThread.run(CacheChannel.java:642) [cd_cache-8.1.1-1015.jar:8.1.1-1015]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_121]
    at com.tridion.util.LoggingThread.run(LoggingThread.java:113) [cd_core-8.1.1-1014.jar:8.1.1-1010]
Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.io.InvalidClassException: com.tridion.cache.CacheEvent; local class incompatible: stream classdesc serialVersionUID = 1252887747292650827, local class serialVersionUID = -8109545960597551825
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.Transport$1.run(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.Transport$1.run(Unknown Source) ~[na:1.8.0_121]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_121]
    at sun.rmi.transport.Transport.serviceCall(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source) ~[na:1.8.0_121]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) ~[na:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:1.8.0_121]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_121]
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.server.UnicastRef.invoke(Unknown Source) ~[na:1.8.0_121]
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source) ~[na:1.8.0_121]
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source) ~[na:1.8.0_121]
    at com.sun.proxy.$Proxy77.broadcastEvent(Unknown Source) ~[na:na]
    at com.tridion.cache.RMICacheChannelConnector.broadcastEvent(RMICacheChannelConnector.java:126) ~[cd_cache-8.1.1-1015.jar:8.1.1-1015]
    ... 4 common frames omitted
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.io.InvalidClassException: com.tridion.cache.CacheEvent; local class incompatible: stream classdesc serialVersionUID = 1252887747292650827, local class serialVersionUID = -8109545960597551825
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.Transport$1.run(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.Transport$1.run(Unknown Source) ~[na:1.8.0_121]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_121]
    at sun.rmi.transport.Transport.serviceCall(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source) ~[na:1.8.0_121]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_121]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) ~[na:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:1.8.0_121]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_121]
Caused by: java.io.InvalidClassException: com.tridion.cache.CacheEvent; local class incompatible: stream classdesc serialVersionUID = 1252887747292650827, local class serialVersionUID = -8109545960597551825
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source) ~[na:1.8.0_121]
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) ~[na:1.8.0_121]
    at java.io.ObjectInputStream.readClassDesc(Unknown Source) ~[na:1.8.0_121]
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) ~[na:1.8.0_121]
    at java.io.ObjectInputStream.readObject0(Unknown Source) ~[na:1.8.0_121]
    at java.io.ObjectInputStream.readObject(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.server.UnicastRef.unmarshalValue(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.server.UnicastServerRef.unmarshalParametersUnchecked(Unknown Source) ~[na:1.8.0_121]
    at sun.rmi.server.UnicastServerRef.unmarshalParameters(Unknown Source) ~[na:1.8.0_121]
    ... 13 common frames omitted
2017-03-29 20:53:26,487 DEBUG RMICacheChannelConnector - Attempting to look up cache channel service on //ysmtrdcdw1:1099/CacheChannelService
2017-03-29 20:53:26,487 DEBUG RMICacheChannelConnector - Successfully set cache channel service

1 Answer 1

4

It's caused by the fact that the CacheEvent class had no serialVersionUUID. Some application servers then generate their own and if they differ between JVMs (which is then usually the case), you get this error.

Hotfix CD_8.1.1.2159 fixes the issue. You'll need to apply it on all involved CD components.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.