This is an automated email from the ASF dual-hosted git repository.
rpuch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new b7118369053 IGNITE-28333 Move simple and direct RO handlers to the
request handler registry in `PartitionReplicaListener` (#7856)
b7118369053 is described below
commit b7118369053ca09aae46e4c86a84526673e93106
Author: Ivan Zlenko <[email protected]>
AuthorDate: Tue Mar 24 11:34:34 2026 +0500
IGNITE-28333 Move simple and direct RO handlers to the request handler
registry in `PartitionReplicaListener` (#7856)
---
.../replicator/PartitionReplicaListener.java | 31 ++++++++++++++++------
1 file changed, 23 insertions(+), 8 deletions(-)
diff --git
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
index 2ed35daba4b..c67df68cab6 100644
---
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
+++
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/PartitionReplicaListener.java
@@ -207,6 +207,7 @@ import
org.apache.ignite.internal.tx.impl.FullyQualifiedResourceId;
import org.apache.ignite.internal.tx.impl.RemotelyTriggeredResourceRegistry;
import org.apache.ignite.internal.tx.impl.TransactionStateResolver;
import
org.apache.ignite.internal.tx.message.TableWriteIntentSwitchReplicaRequest;
+import org.apache.ignite.internal.tx.message.TxMessageGroup;
import org.apache.ignite.internal.tx.message.TxStatePrimaryReplicaRequest;
import
org.apache.ignite.internal.tx.message.WriteIntentSwitchReplicaRequestBase;
import org.apache.ignite.internal.util.Cursor;
@@ -446,6 +447,28 @@ public class PartitionReplicaListener implements
ReplicaTableProcessor {
PartitionReplicationMessageGroup.BUILD_INDEX_REPLICA_REQUEST,
new BuildIndexReplicaRequestHandler(indexMetaStorage,
raftCommandApplicator));
+ handlersBuilder.addHandler(
+ TxMessageGroup.GROUP_TYPE,
+ TxMessageGroup.TABLE_WRITE_INTENT_SWITCH_REQUEST,
+ (ReplicaRequestHandler<TableWriteIntentSwitchReplicaRequest>)
(req, primacy) ->
+ processTableWriteIntentSwitchAction(req));
+
+ handlersBuilder.addHandler(
+ TxMessageGroup.GROUP_TYPE,
+ TxMessageGroup.TX_STATE_PRIMARY_REPLICA_REQUEST,
+ (ReplicaRequestHandler<TxStatePrimaryReplicaRequest>) (req,
primacy) ->
+ processTxStatePrimaryReplicaRequest(req));
+
+ handlersBuilder.addRoHandler(
+ PartitionReplicationMessageGroup.GROUP_TYPE,
+
PartitionReplicationMessageGroup.RO_DIRECT_SINGLE_ROW_REPLICA_REQUEST,
+
(ReadOnlyReplicaRequestHandler<ReadOnlyDirectSingleRowReplicaRequest>)
this::processReadOnlyDirectSingleEntryAction);
+
+ handlersBuilder.addRoHandler(
+ PartitionReplicationMessageGroup.GROUP_TYPE,
+
PartitionReplicationMessageGroup.RO_DIRECT_MULTI_ROW_REPLICA_REQUEST,
+
(ReadOnlyReplicaRequestHandler<ReadOnlyDirectMultiRowReplicaRequest>)
this::processReadOnlyDirectMultiEntryAction);
+
requestHandlers = handlersBuilder.build();
}
@@ -623,20 +646,12 @@ public class PartitionReplicaListener implements
ReplicaTableProcessor {
releaseTxLocks(req.transactionId());
}
});
- } else if (request instanceof TableWriteIntentSwitchReplicaRequest) {
- return
processTableWriteIntentSwitchAction((TableWriteIntentSwitchReplicaRequest)
request);
} else if (request instanceof ReadOnlySingleRowPkReplicaRequest) {
return
processReadOnlySingleEntryAction((ReadOnlySingleRowPkReplicaRequest) request,
replicaPrimacy.isPrimary());
} else if (request instanceof ReadOnlyMultiRowPkReplicaRequest) {
return
processReadOnlyMultiEntryAction((ReadOnlyMultiRowPkReplicaRequest) request,
replicaPrimacy.isPrimary());
} else if (request instanceof ReadOnlyScanRetrieveBatchReplicaRequest)
{
return
processReadOnlyScanRetrieveBatchAction((ReadOnlyScanRetrieveBatchReplicaRequest)
request, replicaPrimacy.isPrimary());
- } else if (request instanceof ReadOnlyDirectSingleRowReplicaRequest) {
- return
processReadOnlyDirectSingleEntryAction((ReadOnlyDirectSingleRowReplicaRequest)
request, opStartTsIfDirectRo);
- } else if (request instanceof ReadOnlyDirectMultiRowReplicaRequest) {
- return
processReadOnlyDirectMultiEntryAction((ReadOnlyDirectMultiRowReplicaRequest)
request, opStartTsIfDirectRo);
- } else if (request instanceof TxStatePrimaryReplicaRequest) {
- return
processTxStatePrimaryReplicaRequest((TxStatePrimaryReplicaRequest) request);
}
// Unknown request.