commit | f17d173959fdb5582b460333d03237eb777f5bc7 | [log] [tgz] |
---|---|---|
author | Jordan Halterman <jordan@opennetworking.org> | Mon Sep 30 01:36:19 2019 -0700 |
committer | pierventre <pier@opennetworking.org> | Tue Apr 06 20:12:55 2021 +0200 |
tree | fa254972118fe067826774bc5de7185cdae0ba27 | |
parent | e91c87f97540939ffca3226670079d439d7f05c6 [diff] [blame] |
[AETHER-75] Add command to force snapshot of Raft partitions. Change-Id: I1e79967e3dcbf353749b6a1e524ce71c763ca588
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/PartitionManager.java b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/PartitionManager.java index 0e6c11c..c6a2e75 100644 --- a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/PartitionManager.java +++ b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/PartitionManager.java
@@ -124,4 +124,23 @@ .collect(Collectors.toList()))) .collect(Collectors.toList()); } + + @Override + public void snapshot() { + checkPermission(PARTITION_READ); + if (partitionGroup != null) { + partitionGroup.snapshot().join(); + } + } + + @Override + public void snapshot(PartitionId partitionId) { + checkPermission(PARTITION_READ); + io.atomix.primitive.partition.PartitionId atomixPartitionId = + io.atomix.primitive.partition.PartitionId.from(partitionGroup.name(), partitionId.id()); + if (partitionGroup != null && + partitionGroup.getPartition(atomixPartitionId) != null) { + partitionGroup.snapshot(atomixPartitionId).join(); + } + } }