Frage

I've been struggling with class loading problems using hazelcast and OSGI (equinox), that I hope have been fixed with Version 3.2-RC1 (ClassLoaderUtil).

My Problem now is that since Version 3.1.6, the hazelcast-client artifact's manifest does not contain any bundle information anymore, same with 3.2-RC1.

I couldn't find any reason for this in the issue tracker so I guess it's an error?

My workaround to use 3.2-RC1 on the cluster nodes an 3.1.5 on the clients (where I don't have class loading issues) does not work, I'm getting this exception:

15:54:41.002   ERROR [hz.node1.cached.thread-1      ] ClientEngine - [127.0.0.1]:5701 [dev] [3.2-RC1] Unknown field name: 'cId' for ClassDefinition {id: 2, version: 0}
com.hazelcast.nio.serialization.HazelcastSerializationException: Unknown field name: 'cId' for ClassDefinition {id: 2, version: 0}
    at com.hazelcast.nio.serialization.DefaultPortableReader.throwUnknownFieldException(DefaultPortableReader.java:226) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.nio.serialization.DefaultPortableReader.getPosition(DefaultPortableReader.java:269) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.nio.serialization.DefaultPortableReader.readInt(DefaultPortableReader.java:71) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.client.ClientRequest.readPortable(ClientRequest.java:85) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:99) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:29) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAdapter.java:59) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.nio.serialization.SerializationServiceImpl.toObject(SerializationServiceImpl.java:221) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.client.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:349) ~[hazelcast-3.2-RC1.jar:3.2-RC1]
    at com.hazelcast.util.executor.ManagedExecutorService$Worker.run(ManagedExecutorService.java:178) [hazelcast-3.2-RC1.jar:3.2-RC1]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
    at com.hazelcast.util.executor.PoolExecutorThreadFactory$ManagedThread.run(PoolExecutorThreadFactory.java:59) [hazelcast-3.2-RC1.jar:3.2-RC1]
War es hilfreich?

Lösung

You're right, it seems that bundle informations are missing on hazelcast-client.jar. I'm looking into it to fix it as Peter said for 3.2.

Chris

Andere Tipps

The client version needs to be exactly the same as the server version. So you can't have a 3.1.5 client in combination with a 3.2-RC1 server.

If there is an issue with the manifest file, please open a ticket here:

https://github.com/hazelcast/hazelcast/issues

And we'll get if fixed before the 3.2 release.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top