My goal is to run a Java Ignite node with a .NET client connecting to it. As I've been having some issues I've gone to an even simpler example of not a server/client model but a server/server model. Prior to Ignite 2.0 you could set up a BinaryConfiguration on the Java side like so:
// Configure Ignite to connect with .NET nodes
BinaryConfiguration binCfg = new BinaryConfiguration();
binCfg.setIdMapper(new BinaryBasicIdMapper());
binCfg.setNameMapper(new BinaryBasicNameMapper());
This works in the sample projects shown here: https://ptupitsyn.github.io/Ignite-Multi-Platform-Cluster/
However, if you take these two working projects and upgrade them from Ignite 1.7.0 to Ignite 2.0.0, you'll now get the following exception (this is from the Java side):
Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node's binary configuration is not equal to remote node's binary configuration [locNodeId=2d98d083-859f-4bae-bb9a-16fe00f9f39a, rmtNodeId=d9f68030-79b1-4e41-bd00-1bec44dca9e3, locBinaryCfg={globIdMapper=org.apache.ignite.binary.BinaryBasicIdMapper, compactFooter=true, globSerializer=null}, rmtBinaryCfg={globIdMapper=null, compactFooter=true, globSerializer=null}]
You'll notice that in the above exception that the Java node has the BinaryBasicIdMapper setup, however the remote .NET node does not have this mapper anymore, which is causing this exception.
I've tried the following to no avail:
- Removing the BinaryBasicIdMapper (can connect to the cluster, but can't deserialize objects, get's an "Unknown Pair" exception).
- Creating the BinaryBasicNameMapper with a true parameter (to enable simple names). Same "Unknown Pair" exception as above.
I've been scouring the Ignite docs trying to figure out what to do in Ignite 2.0, but I can't find any examples of what to do. Has anyone else faced this issue? How did you resolve it?