commit | 5444615fcbb7ccf937e8ee38a2b9cf82a4c56fd9 | [log] [tgz] |
---|---|---|
author | Murtadha Hubail <murtadha.hubail@couchbase.com> | Mon Aug 16 19:41:42 2021 +0300 |
committer | Murtadha Hubail <mhubail@apache.org> | Mon Aug 16 23:23:27 2021 +0000 |
tree | 0832c3baa27f735bf1a80d8f45c2e460ba980da0 | |
parent | 3e4bf05fee9bdb879f0256647e532e2499d91c67 [diff] |
[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;