You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2022/02/15 14:25:15 UTC

[asterixdb] 03/05: [NO ISSUE][OTH] Rename partition owner to origin

This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit ef3da66b3fa444e3f44e6c7c2b6d9e309e885492
Author: Murtadha Hubail <mu...@couchbase.com>
AuthorDate: Mon Feb 14 01:04:58 2022 +0300

    [NO ISSUE][OTH] Rename partition owner to origin
    
    - user model changes: no
    - storage format changes: no
    - interface changes: yes
    
    Change-Id: I97838a546ae9bdc1453f397d6809bd08e493f8f8
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/15263
    Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Murtadha Hubail <mh...@apache.org>
    Reviewed-by: Michael Blow <mb...@apache.org>
---
 .../main/java/org/apache/asterix/app/nc/ReplicaManager.java  | 12 ++++++------
 .../org/apache/asterix/common/storage/IReplicaManager.java   |  6 +++---
 .../messaging/PartitionResourcesListResponse.java            |  2 +-
 .../replication/messaging/PartitionResourcesListTask.java    |  2 +-
 .../apache/asterix/replication/sync/FileSynchronizer.java    |  2 +-
 .../apache/asterix/replication/sync/IndexSynchronizer.java   |  2 +-
 .../asterix/replication/sync/ReplicaFilesSynchronizer.java   |  8 ++++----
 .../apache/asterix/replication/sync/ReplicaSynchronizer.java |  2 +-
 8 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java
index 7b52df6..a159e09 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java
@@ -57,14 +57,14 @@ public class ReplicaManager implements IReplicaManager {
      * current replicas
      */
     private final Map<ReplicaIdentifier, PartitionReplica> replicas = new HashMap<>();
-    private final Set<Integer> nodeOwnedPartitions = new HashSet<>();
+    private final Set<Integer> nodeOriginatedPartitions = new HashSet<>();
 
     public ReplicaManager(INcApplicationContext appCtx, Set<Integer> partitions) {
         this.appCtx = appCtx;
         for (Integer partition : partitions) {
             this.partitions.put(partition, new Object());
         }
-        setNodeOwnedPartitions(appCtx);
+        setNodeOriginatedPartitions(appCtx);
     }
 
     @Override
@@ -163,8 +163,8 @@ public class ReplicaManager implements IReplicaManager {
     }
 
     @Override
-    public boolean isPartitionOwner(int partition) {
-        return nodeOwnedPartitions.contains(partition);
+    public boolean isPartitionOrigin(int partition) {
+        return nodeOriginatedPartitions.contains(partition);
     }
 
     public void closePartitionResources(int partition) throws HyracksDataException {
@@ -185,9 +185,9 @@ public class ReplicaManager implements IReplicaManager {
         return id.getNodeId().equals(nodeId);
     }
 
-    private void setNodeOwnedPartitions(INcApplicationContext appCtx) {
+    private void setNodeOriginatedPartitions(INcApplicationContext appCtx) {
         Set<Integer> nodePartitions =
                 appCtx.getMetadataProperties().getNodePartitions(appCtx.getServiceContext().getNodeId());
-        nodeOwnedPartitions.addAll(nodePartitions);
+        nodeOriginatedPartitions.addAll(nodePartitions);
     }
 }
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IReplicaManager.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IReplicaManager.java
index a4d56ce..14fc9d8 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IReplicaManager.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IReplicaManager.java
@@ -104,10 +104,10 @@ public interface IReplicaManager {
     List<IPartitionReplica> getReplicas();
 
     /**
-     * Returns true if {@code partition} is owned by this node, otherwise false.
+     * Returns true if {@code partition} is originated by this node, otherwise false.
      *
      * @param partition
-     * @return true if the partition is owned by this node, otherwise false.
+     * @return true if the partition is originated by this node, otherwise false.
      */
-    boolean isPartitionOwner(int partition);
+    boolean isPartitionOrigin(int partition);
 }
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListResponse.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListResponse.java
index 1a5ba88..e85b9d4 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListResponse.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListResponse.java
@@ -90,7 +90,7 @@ public class PartitionResourcesListResponse implements IReplicationMessage {
         return new PartitionResourcesListResponse(partition, partitionReplicatedResources, resources, owner);
     }
 
-    public boolean isOwner() {
+    public boolean isOrigin() {
         return owner;
     }
 
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListTask.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListTask.java
index 3ea252f..d9b3b0c 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListTask.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/PartitionResourcesListTask.java
@@ -59,7 +59,7 @@ public class PartitionResourcesListTask implements IReplicaTask {
                 localResourceRepository.getPartitionReplicatedFiles(partition, replicationStrategy).stream()
                         .map(StoragePathUtil::getFileRelativePath).collect(Collectors.toList());
         final PartitionResourcesListResponse response = new PartitionResourcesListResponse(partition,
-                partitionReplicatedResources, partitionFiles, appCtx.getReplicaManager().isPartitionOwner(partition));
+                partitionReplicatedResources, partitionFiles, appCtx.getReplicaManager().isPartitionOrigin(partition));
         ReplicationProtocol.sendTo(worker.getChannel(), response, worker.getReusableBuffer());
     }
 
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java
index 968f883..73fca9c 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java
@@ -55,7 +55,7 @@ public class FileSynchronizer {
             final IIOManager ioManager = appCtx.getIoManager();
             final ISocketChannel channel = replica.getChannel();
             final FileReference filePath = ioManager.resolve(file);
-            String masterNode = appCtx.getReplicaManager().isPartitionOwner(replica.getIdentifier().getPartition())
+            String masterNode = appCtx.getReplicaManager().isPartitionOrigin(replica.getIdentifier().getPartition())
                     ? appCtx.getServiceContext().getNodeId() : null;
             ReplicateFileTask task = new ReplicateFileTask(file, filePath.getFile().length(), metadata, masterNode);
             LOGGER.debug("attempting to replicate {} to replica {}", task, replica);
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/IndexSynchronizer.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/IndexSynchronizer.java
index 00e63ec..bfd3422 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/IndexSynchronizer.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/IndexSynchronizer.java
@@ -94,7 +94,7 @@ public class IndexSynchronizer {
         final FileSynchronizer fileSynchronizer = new FileSynchronizer(appCtx, replica);
         job.getJobFiles().stream().map(StoragePathUtil::getFileRelativePath).forEach(fileSynchronizer::replicate);
         // send mark component valid
-        String masterNode = appCtx.getReplicaManager().isPartitionOwner(replica.getIdentifier().getPartition())
+        String masterNode = appCtx.getReplicaManager().isPartitionOrigin(replica.getIdentifier().getPartition())
                 ? appCtx.getServiceContext().getNodeId() : null;
         MarkComponentValidTask markValidTask = new MarkComponentValidTask(indexFile, getReplicatedComponentLsn(),
                 getReplicatedComponentId(), masterNode);
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java
index 477559c..44c9404 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaFilesSynchronizer.java
@@ -72,7 +72,7 @@ public class ReplicaFilesSynchronizer {
         }
         PartitionResourcesListResponse replicaResourceResponse = getReplicaFiles(partition);
         Map<ResourceReference, Long> resourceReferenceLongMap = getValidReplicaResources(
-                replicaResourceResponse.getPartitionReplicatedResources(), replicaResourceResponse.isOwner());
+                replicaResourceResponse.getPartitionReplicatedResources(), replicaResourceResponse.isOrigin());
         // clean up files for invalid resources (deleted or recreated while the replica was down)
         Set<String> deletedReplicaFiles =
                 cleanupReplicaInvalidResources(replicaResourceResponse, resourceReferenceLongMap);
@@ -155,7 +155,7 @@ public class ReplicaFilesSynchronizer {
             if (!validReplicaResources.containsKey(replicaRes)) {
                 LOGGER.debug("replica invalid file {} to be deleted", replicaRes.getFileRelativePath());
                 invalidFiles.add(replicaResPath);
-            } else if (replicaResourceResponse.isOwner() && !replicaRes.isMetadataResource()) {
+            } else if (replicaResourceResponse.isOrigin() && !replicaRes.isMetadataResource()) {
                 // find files where the owner generated and failed before replicating
                 Long masterValidSeq = validReplicaResources.get(replicaRes);
                 IndexComponentFileReference componentFileReference =
@@ -184,7 +184,7 @@ public class ReplicaFilesSynchronizer {
     }
 
     private Map<ResourceReference, Long> getValidReplicaResources(Map<String, Long> partitionReplicatedResources,
-            boolean owner) throws HyracksDataException {
+            boolean origin) throws HyracksDataException {
         Map<ResourceReference, Long> resource2ValidSeqMap = new HashMap<>();
         for (Map.Entry<String, Long> resourceEntry : partitionReplicatedResources.entrySet()) {
             ResourceReference rr = ResourceReference.of(resourceEntry.getKey());
@@ -196,7 +196,7 @@ public class ReplicaFilesSynchronizer {
                     LOGGER.info("replica has resource {} but with different resource id; ours {}, theirs {}", rr,
                             localResource.getId(), resourceEntry.getValue());
                 } else {
-                    long resourceMasterValidSeq = owner ? getResourceMasterValidSeq(rr) : Integer.MAX_VALUE;
+                    long resourceMasterValidSeq = origin ? getResourceMasterValidSeq(rr) : Integer.MAX_VALUE;
                     resource2ValidSeqMap.put(rr, resourceMasterValidSeq);
                 }
             }
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaSynchronizer.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaSynchronizer.java
index 2434686..a8eee4f 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaSynchronizer.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/ReplicaSynchronizer.java
@@ -73,7 +73,7 @@ public class ReplicaSynchronizer {
     private void checkpointReplicaIndexes() throws IOException {
         final int partition = replica.getIdentifier().getPartition();
         String masterNode =
-                appCtx.getReplicaManager().isPartitionOwner(partition) ? appCtx.getServiceContext().getNodeId() : null;
+                appCtx.getReplicaManager().isPartitionOrigin(partition) ? appCtx.getServiceContext().getNodeId() : null;
         CheckpointPartitionIndexesTask task =
                 new CheckpointPartitionIndexesTask(partition, getPartitionMaxComponentId(partition), masterNode);
         ReplicationProtocol.sendTo(replica, task);