[ https://issues.apache.org/jira/browse/IGNITE-24701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17932572#comment-17932572 ]
Kirill Tkalenko commented on IGNITE-24701: ------------------------------------------ Looks good. > Unhandled exception java.lang.UnsupportedOperationException for Reset > Partitions > -------------------------------------------------------------------------------- > > Key: IGNITE-24701 > URL: https://issues.apache.org/jira/browse/IGNITE-24701 > Project: Ignite > Issue Type: Improvement > Reporter: Philipp Shergalis > Assignee: Philipp Shergalis > Priority: Major > Labels: ignite-3 > > * Run a custer with two nodes : one major + one minor (GG 9.0.14) > * Run simple SQL > {noformat} > CREATE TABLE Person(ID INTEGER PRIMARY KEY, NAME VARCHAR(100)); INSERT INTO > Person(ID, NAME) VALUES (1, 'Ed'), (2, 'Ann'), (3, 'Emma'); SELECT * FROM > Person;{noformat} > * Down cluster_2 > * Try to restore broken partitions on node_1 *REST* > [http://localhost:10301/management/v1/recovery/partitions/reset] ot *CLI* > [defaultNode]> recovery partitions reset --partitions=1 --zone=Default > --table=PUBLIC.PERSON > Actual result > Failed to reset partition, Unhandled exception > java.lang.UnsupportedOperationException > Expected result > # The Error is human readable if it is a case when Partition is not restorable > # The reset should be done successfully > *LOG* 2025-02-20 15:46:04:565 +0100 > [ERROR][%defaultNode%JRaft-ReadOnlyService-Disruptor_stripe_1-0][GroupUpdateRequest] > Failed to reset partition java.util.concurrent.CompletionException: > java.lang.UnsupportedOperationException at > java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) > at > java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) > at > org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$sendWithRetry$49(RaftGroupServiceImpl.java:616) > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) > at > java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) > at > org.apache.ignite.internal.network.DefaultMessagingService.onInvokeResponse(DefaultMessagingService.java:577) > at > org.apache.ignite.internal.network.DefaultMessagingService.send0(DefaultMessagingService.java:263) > at > org.apache.ignite.internal.network.DefaultMessagingService.respond(DefaultMessagingService.java:206) > at > org.apache.ignite.internal.network.MessagingService.respond(MessagingService.java:107) > at > org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$NetworkRpcContext.sendResponse(IgniteRpcServer.java:237) > at > org.apache.ignite.raft.jraft.rpc.impl.ActionRequestProcessor.sendResponse(ActionRequestProcessor.java:268) > at > org.apache.ignite.raft.jraft.rpc.impl.ActionRequestProcessor$2$1.result(ActionRequestProcessor.java:228) > at > org.apache.ignite.internal.metastorage.server.raft.MetaStorageListener.onReadBusy(MetaStorageListener.java:121) > at > org.apache.ignite.internal.metastorage.server.raft.MetaStorageListener.onRead(MetaStorageListener.java:93) > at > org.apache.ignite.raft.jraft.rpc.impl.ActionRequestProcessor$2.run(ActionRequestProcessor.java:222) > at > org.apache.ignite.raft.jraft.closure.ReadIndexClosure.run(ReadIndexClosure.java:87) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl.notifySuccess(ReadOnlyServiceImpl.java:452) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexResponseClosure.run(ReadOnlyServiceImpl.java:179) > at org.apache.ignite.raft.jraft.core.NodeImpl.readLeader(NodeImpl.java:1873) > at > org.apache.ignite.raft.jraft.core.NodeImpl.handleReadIndexRequest(NodeImpl.java:1818) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl.executeReadIndexEvents(ReadOnlyServiceImpl.java:239) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:123) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:106) > at > org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:318) > at > org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:275) > at > com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:167) > at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:122) > at java.base/java.lang.Thread.run(Thread.java:842) Caused by: > java.lang.UnsupportedOperationException at > java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:142) > at > java.base/java.util.ImmutableCollections$AbstractImmutableCollection.add(ImmutableCollections.java:147) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.enrichAssignments(GroupUpdateRequest.java:496) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.partitionUpdate(GroupUpdateRequest.java:327) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.updateAssignments(GroupUpdateRequest.java:278) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.lambda$forceAssignmentsUpdate$2(GroupUpdateRequest.java:239) > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) > ... 30 more 2025-02-20 15:46:04:566 +0100 > [ERROR][%defaultNode%JRaft-ReadOnlyService-Disruptor_stripe_1-0][JavaExceptionHandler] > Unhandled exception java.lang.UnsupportedOperationException at > java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:142) > at > java.base/java.util.ImmutableCollections$AbstractImmutableCollection.add(ImmutableCollections.java:147) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.enrichAssignments(GroupUpdateRequest.java:496) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.partitionUpdate(GroupUpdateRequest.java:327) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.updateAssignments(GroupUpdateRequest.java:278) > at > org.apache.ignite.internal.table.distributed.disaster.GroupUpdateRequest.lambda$forceAssignmentsUpdate$2(GroupUpdateRequest.java:239) > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) > at > org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$sendWithRetry$49(RaftGroupServiceImpl.java:616) > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) > at > java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) > at > org.apache.ignite.internal.network.DefaultMessagingService.onInvokeResponse(DefaultMessagingService.java:577) > at > org.apache.ignite.internal.network.DefaultMessagingService.send0(DefaultMessagingService.java:263) > at > org.apache.ignite.internal.network.DefaultMessagingService.respond(DefaultMessagingService.java:206) > at > org.apache.ignite.internal.network.MessagingService.respond(MessagingService.java:107) > at > org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$NetworkRpcContext.sendResponse(IgniteRpcServer.java:237) > at > org.apache.ignite.raft.jraft.rpc.impl.ActionRequestProcessor.sendResponse(ActionRequestProcessor.java:268) > at > org.apache.ignite.raft.jraft.rpc.impl.ActionRequestProcessor$2$1.result(ActionRequestProcessor.java:228) > at > org.apache.ignite.internal.metastorage.server.raft.MetaStorageListener.onReadBusy(MetaStorageListener.java:121) > at > org.apache.ignite.internal.metastorage.server.raft.MetaStorageListener.onRead(MetaStorageListener.java:93) > at > org.apache.ignite.raft.jraft.rpc.impl.ActionRequestProcessor$2.run(ActionRequestProcessor.java:222) > at > org.apache.ignite.raft.jraft.closure.ReadIndexClosure.run(ReadIndexClosure.java:87) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl.notifySuccess(ReadOnlyServiceImpl.java:452) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexResponseClosure.run(ReadOnlyServiceImpl.java:179) > at org.apache.ignite.raft.jraft.core.NodeImpl.readLeader(NodeImpl.java:1873) > at > org.apache.ignite.raft.jraft.core.NodeImpl.handleReadIndexRequest(NodeImpl.java:1818) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl.executeReadIndexEvents(ReadOnlyServiceImpl.java:239) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:123) > at > org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl$ReadIndexEventHandler.onEvent(ReadOnlyServiceImpl.java:106) > at > org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:318) > at > org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:275) > at > com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:167) > at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:122) > at java.base/java.lang.Thread.run(Thread.java:842) 2025-02-20 15:46:05:413 > +0100 [INFO][defaultNode-srv-worker-22][ClientInboundMessageHandler] > Partition primary replica changed, notifying client [connectionId=549, > remoteAddress=/127.0.0.1:50585] 2025-02-20 15:46:05:441 +0100 > [WARNING][CompletableFutureDelayScheduler][ClientInboundMessageHandler] Error > processing client request [connectionId=546, id=9, op=65, > remoteAddress=/127.0.0.1:50438]:org.apache.ignite.tx.TransactionException: > IGN-PLACEMENTDRIVER-1 TraceId:dd12eddc-a2b2-4ce4-bc5a-ae869b75dc83 Failed to > get the primary replica [tablePartitionId=18_part_1, > awaitTimestamp=HybridTimestamp [physical=2025-02-20 14:45:35:440 +0000, > logical=0, composite=114036751429795840]] > java.util.concurrent.CompletionException: > org.apache.ignite.tx.TransactionException: IGN-PLACEMENTDRIVER-1 > TraceId:dd12eddc-a2b2-4ce4-bc5a-ae869b75dc83 Failed to get the primary > replica [tablePartitionId=18_part_1, awaitTimestamp=HybridTimestamp > [physical=2025-02-20 14:45:35:440 +0000, logical=0, > composite=114036751429795840]] at > java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) > at > java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) > at > java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:994) > at > java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:974) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) > at > java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) > at > java.base/java.util.concurrent.CompletableFuture$Timeout.run(CompletableFuture.java:2874) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at > java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > at java.base/java.lang.Thread.run(Thread.java:842) -- This message was sent by Atlassian Jira (v8.20.10#820010)