Pergunta

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]
Foi útil?

Solução

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

Outras dicas

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top