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;