Andrei Nadyktov created IGNITE-28744:
----------------------------------------

             Summary: Add check of cluster state for cdc resend command
                 Key: IGNITE-28744
                 URL: https://issues.apache.org/jira/browse/IGNITE-28744
             Project: Ignite
          Issue Type: Task
    Affects Versions: 2.18
            Reporter: Andrei Nadyktov
            Assignee: Andrei Nadyktov
             Fix For: 2.19


Currently, if we'll try executing {{control.sh --cdc resend}} command on 
inactive cluster we'll get the following error:
{noformat}
class 
org.apache.ignite.internal.processors.platform.client.IgniteClientException: 
Failed to map task jobs to nodes due to undeclared user exception [cause=Cannot 
invoke 
"org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.rebalanced()"
 because "fut" is null, ses=GridTaskSessionImpl 
[taskName=org.apache.ignite.internal.management.cdc.CdcCacheDataResendTask, 
dep=GridDeployment [ts=1780083173402, depMode=SHARED, 
clsLdr=jdk.internal.loader.ClassLoaders$AppClassLoader@1d44bcfa, 
clsLdrId=b4e99357e91-22194b8f-6e2e-4476-927b-87f801600000, userVer=0, loc=true, 
sampleClsName=org.apache.ignite.internal.management.cdc.CdcCacheDataResendTask, 
pendingUndeploy=false, undeployed=false, usage=1], 
taskClsName=org.apache.ignite.internal.management.cdc.CdcCacheDataResendTask, 
sesId=a4e99357e91-22194b8f-6e2e-4476-927b-87f801600000, 
startTime=1780083173386, endTime=9223372036854775807, 
taskNodeId=22194b8f-6e2e-4476-927b-87f801600000, 
clsLdr=jdk.internal.loader.ClassLoaders$AppClassLoader@1d44bcfa, closed=false, 
cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, internal=true, 
topPred=ContainsNodeIdsPredicate [], mapFut=IgniteFuture 
[orig=GridFutureAdapter [ignoreInterrupts=false, state=INIT, res=null, 
hash=205514208]], execName=null, secCtx=null]]
        at 
org.apache.ignite.internal.processors.platform.client.compute.ClientComputeTask.execute(ClientComputeTask.java:125)
        at 
org.apache.ignite.internal.processors.platform.client.compute.ClientExecuteTaskRequest.process(ClientExecuteTaskRequest.java:93)
        at 
org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle0(ClientRequestHandler.java:145)
        at 
org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:115)
        at 
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:234)
        at 
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:58)
        at 
org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:280)
        at 
org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:110)
        at 
org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:98)
        at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
        at 
org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
{noformat}
which is not informative and doesn't show the real problem.

We need to implement some sort of check that cluster is not inactive, otherwise 
throw an exception with more meaningful description.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to