[ 
https://issues.apache.org/jira/browse/IGNITE-24701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philipp Shergalis updated IGNITE-24701:
---------------------------------------
    Description: 
* 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) 

  was:
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  

*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) *Expected result* # The 
Error is human readable if it is a case when Partition is not restorable # The 
reset should be done successfully


> 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