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 <[email protected]>
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 <[email protected]>
Integration-Tests: Jenkins <[email protected]>
Reviewed-by: Murtadha Hubail <[email protected]>
Reviewed-by: Ali Alsuliman <[email protected]>
---
.../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;