[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 <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
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 @@
         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 @@
      * @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 @@
         return id.hashCode();
     }
 
+    public String getId() {
+        return id;
+    }
+
     @Override
     public String toString() {
         return id;