kgusakov commented on code in PR #3931:
URL: https://github.com/apache/ignite-3/pull/3931#discussion_r1687185507
##########
modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/ZonePartitionReplicaListener.java:
##########
@@ -17,31 +17,103 @@
package org.apache.ignite.internal.partition.replicator;
+import static
org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
+
+import java.util.Map;
import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.internal.binarytuple.BinaryTupleBuilder;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.Function;
+import org.apache.ignite.internal.logger.IgniteLogger;
+import org.apache.ignite.internal.logger.Loggers;
import org.apache.ignite.internal.raft.service.RaftCommandRunner;
+import org.apache.ignite.internal.raft.service.RaftGroupService;
import org.apache.ignite.internal.replicator.ReplicaResult;
+import org.apache.ignite.internal.replicator.ReplicationGroupId;
+import org.apache.ignite.internal.replicator.TablePartitionId;
+import org.apache.ignite.internal.replicator.ZonePartitionId;
import org.apache.ignite.internal.replicator.listener.ReplicaListener;
import org.apache.ignite.internal.replicator.message.ReplicaRequest;
-import org.apache.ignite.internal.schema.BinaryRowImpl;
+import org.apache.ignite.internal.replicator.message.TableAware;
+import org.apache.ignite.internal.tx.message.TxFinishReplicaRequest;
+import org.apache.ignite.internal.tx.message.TxMessagesFactory;
/**
* Zone partition replica listener.
*/
public class ZonePartitionReplicaListener implements ReplicaListener {
+ private static final TxMessagesFactory TX_MESSAGES_FACTORY = new
TxMessagesFactory();
+
+ private static final IgniteLogger LOG =
Loggers.forClass(ZonePartitionReplicaListener.class);
+
+ // TODO: https://issues.apache.org/jira/browse/IGNITE-22624 await for the
table replica listener if needed.
+ private final Map<TablePartitionId, ReplicaListener> replicas = new
ConcurrentHashMap<>();
+
+ private final RaftGroupService raftClient;
+
+ public ZonePartitionReplicaListener(RaftGroupService raftClient) {
+ this.raftClient = raftClient;
+ }
@Override
public CompletableFuture<ReplicaResult> invoke(ReplicaRequest request,
String senderId) {
- var res = new BinaryRowImpl(
- 1,
- new BinaryTupleBuilder(2).appendLong(1).appendInt(-1).build());
- return CompletableFuture.completedFuture(new ReplicaResult(
- res,
- CompletableFuture.completedFuture(res)));
+ if (!(request instanceof TableAware)) {
+ // TODO: https://issues.apache.org/jira/browse/IGNITE-22620
implement ReplicaSafeTimeSyncRequest processing.
+ // TODO: https://issues.apache.org/jira/browse/IGNITE-22621
implement zone-based transaction storage
+ // and txn messages processing
+ if (request instanceof TxFinishReplicaRequest) {
+ TxFinishReplicaRequest txFinishReplicaRquest =
(TxFinishReplicaRequest) request;
Review Comment:
Fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]