0
votes

After doing some performance snapshots of our code, we noticed that the were a lot of time being spent in some ignite code around the marshaller. It looks like, since we're using the https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java class, the marshaller is only set to the jdkMarshaller and doesn't even consider the binary or optimized.

What is the best way to use this discovery method and use an optimized marshaller?

    private TcpDiscoverySpi getKubernetesIgnitePodFinder() {
        TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();
        TcpDiscoveryKubernetesIpFinder tcpDiscoveryKubernetesIpFinder = new TcpDiscoveryKubernetesIpFinder();
        tcpDiscoveryKubernetesIpFinder.setServiceName("ignite-service");

........
1

1 Answers

1
votes

In Ignite, not much data is sent over Discovery channels, so you should probably not worry about that. Absolute most of data is sent over Communication, where different marshallers are used.

If you still have use cases where marshalling is the bottleneck, let's discuss it on Ignite's user or developers lists.