[ 
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)

Reply via email to