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

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


The following commit(s) were added to refs/heads/master by this push:
     new 5444615  [NO ISSUE][REP] Add Replicas Getter
5444615 is described below

commit 5444615fcbb7ccf937e8ee38a2b9cf82a4c56fd9
Author: Murtadha Hubail <murtadha.hub...@couchbase.com>
AuthorDate: Mon Aug 16 19:41:42 2021 +0300

    [NO ISSUE][REP] Add Replicas Getter
    
    - user model changes: no
    - storage format changes: no
    - interface changes: yes
    
    Details:
    
    - Add getter in ReplicaManager for the current replicas.
    - Add getter for the replica identifier.
    
    Change-Id: I9394739ec7d591fbdf56127e9493c13005c6e38e
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/12863
    Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
    Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Murtadha Hubail <mhub...@apache.org>
    Reviewed-by: Ali Alsuliman <ali.al.solai...@gmail.com>
---
 .../src/main/java/org/apache/asterix/app/nc/ReplicaManager.java    | 6 ++++++
 .../java/org/apache/asterix/common/storage/IReplicaManager.java    | 7 +++++++
 .../java/org/apache/asterix/common/storage/ReplicaIdentifier.java  | 4 ++++
 3 files changed, 17 insertions(+)

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 954ff8d..1d901bd 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
@@ -18,6 +18,7 @@
  */
 package org.apache.asterix.app.nc;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -141,6 +142,11 @@ public class ReplicaManager implements IReplicaManager {
         return replicaSyncLock;
     }
 
+    @Override
+    public synchronized List<IPartitionReplica> getReplicas() {
+        return new ArrayList<>(replicas.values());
+    }
+
     public void closePartitionResources(int partition) throws 
HyracksDataException {
         final IDatasetLifecycleManager datasetLifecycleManager = 
appCtx.getDatasetLifecycleManager();
         //TODO(mhubail) we can flush only datasets of the requested partition
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 b081c65..9630303 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
@@ -86,4 +86,11 @@ public interface IReplicaManager {
      * @return The partition replica if found. Otherwise, null.
      */
     IPartitionReplica getReplica(ReplicaIdentifier id);
+
+    /**
+     * Gets the list of replicas
+     *
+     * @return the list of replicas
+     */
+    List<IPartitionReplica> getReplicas();
 }
diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/ReplicaIdentifier.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/ReplicaIdentifier.java
index e14d005..1d02fee 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/ReplicaIdentifier.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/ReplicaIdentifier.java
@@ -75,6 +75,10 @@ public class ReplicaIdentifier {
         return id.hashCode();
     }
 
+    public String getId() {
+        return id;
+    }
+
     @Override
     public String toString() {
         return id;

Reply via email to