Search code examples
ignite

Plain vanilla Apache Ignite cluster fails setting state back to ACTIVE


I've got a plain vanilla install of ignite 2.14, with the binaries downloaded from https://ignite.apache.org/download.cgi (exact link https://dlcdn.apache.org/ignite/2.14.0/apache-ignite-2.14.0-bin.zip). I'm on Windows 10, IGNITE_HOME is not set in the PATH (this is optional), and Ignite's using this java runtime:

OpenJDK Runtime Environment 1.8.0_201-2-redhat-b09 Oracle Corporation OpenJDK 64-Bit Server VM 25.201-b09

I start an ignite node using the default configuration provided in the downloaded zip apache-ignite-2.14.0-bin.zip :

ignite.bat ..\config\default-config.xml 

This starts fine. Following the instructions at https://ignite.apache.org/docs/latest/tools/control-script I can check the state and see I've got a single node cluster in state ACTIVE (the default-config.xml must not have native persistence enabled, so the cluster goes to ACTIVE state automatically).

I can then set the state to INACTIVE like so:

control.bat --set-state INACTIVE

This works fine. However if I set the state to active again like so:

control.bat --set-state ACTIVE

I get the error pasted below and the cluster stays in the INACTIVE state. I first came across this error when using Ignite in embedded server mode, but I can still reproduce it with a fresh out-of-the-box ignite install (not using embedded). I'm surprised that a plain vanilla install just calling a couple of basic commands falls over like this. Any idea what's happening?

This is the error:

C:\temp\apache-ignite-2.14.0-bin\bin>control.bat --set-state ACTIVE Nov 17, 2022 4:27:17 PM org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection INFO: Client TCP connection established: /127.0.0.1:11211 Nov 17, 2022 4:27:17 PM org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection close INFO: Client TCP connection closed: /127.0.0.1:11211 Nov 17, 2022 4:27:17 PM org.apache.ignite.internal.client.util.GridClientUtils shutdownNow WARNING: Runnable tasks outlived thread pool executor service [owner=GridClientConnectionManager, tasks=[java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@6d7b4f4c]] Control utility [ver. 2.14.0#20220929-sha1:951e8deb] 2022 Copyright(C) Apache Software Foundation User: info Time: 2022-11-17T16:27:16.344 null suppressed:

Command [SET-STATE] finished with code: 4 Error stack trace: class org.apache.ignite.internal.client.GridClientException: null suppressed:

    at org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection.handleClientResponse(GridClientNioTcpConnection.java:632)
    at org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection.handleResponse(GridClientNioTcpConnection.java:563)
    at org.apache.ignite.internal.client.impl.connection.GridClientConnectionManagerAdapter$NioListener.onMessage(GridClientConnectionManagerAdapter.java:691)
    at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
    at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
    at org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:116)
    at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
    at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:3734)
    at org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:175)
    at org.apache.ignite.internal.util.nio.GridNioServer$ByteBufferNioClientWorker.processRead(GridNioServer.java:1211)
    at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2508)
    at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2273)
    at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1910)
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
    at java.lang.Thread.run(Thread.java:748)

Control utility has completed execution at: 2022-11-17T16:27:17.642 Execution time: 1298 ms Press any key to continue . . .


Solution

  • It's a known issue, which is, unfortunately, not fixed yet.

    As a workaround, you can execute the command with the autoconfirmation flag --yes, as shown below:

    control.bat --set-state ACTIVE --yes