Welcome to the new Gigaspaces XAP forum. To recover your account, please follow these instructions.

Ask Your Question
0

Binary-incompatible changes in space objects and LocalView

Hello,

I have a question regarding how binary-incompatible changes in space classes affects a LocalView.

We have an application A with embedded space, the space contains instances of classes C1, C2, C3. We have an application B which connects to A and creates a LocalView limited to classes C1 and C2. The class C3 is not used in the application B at all (it never attempts to read instances of this class from A).

Now we modify a space object class C3 in a binary-incompatible way, for example add a new property. We rebuild an application A with the new version of the class C3 and restart it. We restart the application B without rebuilding it. B's classpath still contains the old version of the class C3, but the class C3 is not used in B's application code.

We have observed that the LocalView in the application B reports an error "com.gigaspaces.internal.client.cache.SpaceCacheInitializationException: Failed to synchronize local view".

As far as I know, LocalView are implemented using replication. Does it mean that even though the LocalView in the application B does not contain class C3, the application B still requires a correct version of the class C3 in the classpath in order for the replication from A to B's LocalView to work properly?

asked 2016-11-30 02:57:24 -0500

Alexey Serdyuk gravatar image
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

Does it mean that even though the LocalView in the application B does not contain class C3, the application B still requires a correct version of the class C3 in the classpath in order for the replication from A to B's LocalView to work properly?

Alexey, it doesn't mean this, it simply means that it can't have an incompatible class which has been loaded into a classloader. Was this original C3 class present somewhere on the classpath?

Regards

John

answered 2016-12-01 09:18:42 -0500

jb gravatar image
edit flag offensive delete link more

Comments

Yes, the original C3 class was present in the classpath of the application B, but C3 is not declared as a member of the LocalView in B.

Alexey Serdyuk gravatar imageAlexey Serdyuk ( 2016-12-01 09:37:56 -0500 )edit

Does it have annotated space classes. ie. something that would have been passed to the TypeManager at runtime?

jb gravatar imagejb ( 2016-12-01 12:50:48 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-11-30 02:57:24 -0500

Seen: 49 times

Last updated: Dec 01 '16