When doing a redeploy of JBoss WAR with Apache Ignite, Failed to marshal custom event: StartRoutineDiscoveryMessage

classic Classic list List threaded Threaded
1 message Options
Nicholas DiPiazza Nicholas DiPiazza
Reply | Threaded
Open this post in threaded view
|

When doing a redeploy of JBoss WAR with Apache Ignite, Failed to marshal custom event: StartRoutineDiscoveryMessage

Also posted on https://stackoverflow.com/questions/64611498/when-doing-a-redeploy-of-jboss-war-with-apache-ignite-failed-to-marshal-custom so please answer there so i can reward with points.

I am trying to make it so I can redeploy a JBoss 7.1.0 cluster with a WAR that has apache ignite.

I am starting the cache like this:

    System.setProperty("IGNITE_UPDATE_NOTIFIER", "false");
    
    igniteConfiguration = new IgniteConfiguration();
    
    int failureDetectionTimeout = Integer.parseInt(getProperty("IGNITE_TCP_DISCOVERY_FAILURE_DETECTION_TIMEOUT", "60000"));
    
    igniteConfiguration.setFailureDetectionTimeout(failureDetectionTimeout);

    String igniteVmIps = getProperty("IGNITE_VM_IPS");
    List<String> addresses = Arrays.asList("127.0.0.1:47500");
    if (StringUtils.isNotBlank(igniteVmIps)) {
        addresses = Arrays.asList(igniteVmIps.split(","));
    }
    
    int networkTimeout = Integer.parseInt(getProperty("IGNITE_TCP_DISCOVERY_NETWORK_TIMEOUT", "60000"));
    boolean failureDetectionTimeoutEnabled = Boolean.parseBoolean(getProperty("IGNITE_TCP_DISCOVERY_FAILURE_DETECTION_TIMEOUT_ENABLED", "true"));
    
    int tcpDiscoveryLocalPort = Integer.parseInt(getProperty("IGNITE_TCP_DISCOVERY_LOCAL_PORT", "47500"));
    int tcpDiscoveryLocalPortRange = Integer.parseInt(getProperty("IGNITE_TCP_DISCOVERY_LOCAL_PORT_RANGE", "0"));
    
    TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();
    tcpDiscoverySpi.setLocalPort(tcpDiscoveryLocalPort);
    tcpDiscoverySpi.setLocalPortRange(tcpDiscoveryLocalPortRange);
    tcpDiscoverySpi.setNetworkTimeout(networkTimeout);
    tcpDiscoverySpi.failureDetectionTimeoutEnabled(failureDetectionTimeoutEnabled);
    TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
    ipFinder.setAddresses(addresses);
    tcpDiscoverySpi.setIpFinder(ipFinder);

    igniteConfiguration.setDiscoverySpi(tcpDiscoverySpi);

    Ignite ignite = Ignition.start(igniteConfiguration);

    ignite.cluster().active(true);

Then I am stopping the cache when the application undeploys:

ignite.close();

When I try to redeploy, I get the following error during initialization.

 org.apache.ignite.spi.IgniteSpiException: Failed to marshal custom event: StartRoutineDiscoveryMessage [startReqData=StartRequestData [prjPred=org.apache.ignite.internal.cluster.ClusterGroupAdapter$CachesFilter@7385a997, clsName=null, depInfo=null, hnd=org.apache.ignite.internal.GridEventConsumeHandler@2aec6952, bufSize=1, interval=0, autoUnsubscribe=true], keepBinary=false, deserEx=null, routineId=bbe16e8e-2820-4ba0-a958-d5f644498ba2]

If I full restart the server, starts up fine.

Am I missing some magic in the shutdown process?