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)