You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/05/25 11:53:48 UTC
[shardingsphere] branch master updated: remove attributes node of registry center (#17947)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 0d6e1a9a74f remove attributes node of registry center (#17947)
0d6e1a9a74f is described below
commit 0d6e1a9a74f00d35f4b3ecbc843c1a9710eeba13
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Wed May 25 19:53:37 2022 +0800
remove attributes node of registry center (#17947)
---
.../mode/metadata/persist/node/ComputeNode.java | 31 +++++++---------------
.../metadata/persist/node/ComputeNodeTest.java | 21 ++++++---------
.../watcher/ComputeNodeStateChangedWatcher.java | 2 +-
.../ComputeNodeStateChangedWatcherTest.java | 16 +++++------
4 files changed, 27 insertions(+), 43 deletions(-)
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNode.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNode.java
index 23e226e874b..2f62956227c 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNode.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNode.java
@@ -35,8 +35,6 @@ public final class ComputeNode {
private static final String ONLINE_NODE = "online";
- private static final String ATTRIBUTES_NODE = "attributes";
-
private static final String LABELS_NODE = "labels";
private static final String PROCESS_TRIGGER = "process_trigger";
@@ -105,7 +103,7 @@ public final class ComputeNode {
* @return path of compute node instance labels
*/
public static String getInstanceLabelsNodePath(final String instanceId) {
- return String.join("/", "", ROOT_NODE, COMPUTE_NODE, ATTRIBUTES_NODE, instanceId, LABELS_NODE);
+ return String.join("/", "", ROOT_NODE, COMPUTE_NODE, LABELS_NODE, instanceId);
}
/**
@@ -115,16 +113,7 @@ public final class ComputeNode {
* @return path of compute node xa recovery id
*/
public static String getInstanceXaRecoveryIdNodePath(final String instanceId) {
- return String.join("/", "", ROOT_NODE, COMPUTE_NODE, ATTRIBUTES_NODE, instanceId, XA_RECOVERY_ID_NODE);
- }
-
- /**
- * Get attributes node path.
- *
- * @return attributes node path
- */
- public static String getAttributesNodePath() {
- return String.join("/", "", ROOT_NODE, COMPUTE_NODE, ATTRIBUTES_NODE);
+ return String.join("/", "", ROOT_NODE, COMPUTE_NODE, XA_RECOVERY_ID_NODE, instanceId);
}
/**
@@ -143,19 +132,19 @@ public final class ComputeNode {
* @return worker id path
*/
public static String getInstanceWorkerIdNodePath(final String instanceId) {
- return String.join("/", "", ROOT_NODE, COMPUTE_NODE, ATTRIBUTES_NODE, instanceId, WORKER_ID);
+ return String.join("/", "", ROOT_NODE, COMPUTE_NODE, WORKER_ID, instanceId);
}
/**
- * Get instance id by status path.
+ * Get instance id by compute node path.
*
- * @param attributesPath attributes path
+ * @param computeNodePath compute node path
* @return instance id
*/
- public static String getInstanceIdByAttributes(final String attributesPath) {
- Pattern pattern = Pattern.compile(getAttributesNodePath() + "/([\\S]+)" + "(/status|/worker_id|/labels|/xa_recovery_id)$", Pattern.CASE_INSENSITIVE);
- Matcher matcher = pattern.matcher(attributesPath);
- return matcher.find() ? matcher.group(1) : "";
+ public static String getInstanceIdByComputeNode(final String computeNodePath) {
+ Pattern pattern = Pattern.compile(getComputeNodePath() + "(/status|/worker_id|/labels|/xa_recovery_id)" + "/([\\S]+)$", Pattern.CASE_INSENSITIVE);
+ Matcher matcher = pattern.matcher(computeNodePath);
+ return matcher.find() ? matcher.group(2) : "";
}
/**
@@ -165,7 +154,7 @@ public final class ComputeNode {
* @return instance status node path
*/
public static String getInstanceStatusNodePath(final String instanceId) {
- return String.join("/", "", ROOT_NODE, COMPUTE_NODE, ATTRIBUTES_NODE, instanceId, STATUS_NODE);
+ return String.join("/", "", ROOT_NODE, COMPUTE_NODE, STATUS_NODE, instanceId);
}
/**
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNodeTest.java b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNodeTest.java
index 703e24c5cb2..235be7674c5 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNodeTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/ComputeNodeTest.java
@@ -56,34 +56,29 @@ public final class ComputeNodeTest {
@Test
public void assertGetInstanceLabelsNodePath() {
- assertThat(ComputeNode.getInstanceLabelsNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/attributes/127.0.0.1@3307/labels"));
- }
-
- @Test
- public void assertGetAttributesNodePath() {
- assertThat(ComputeNode.getAttributesNodePath(), is("/nodes/compute_nodes/attributes"));
+ assertThat(ComputeNode.getInstanceLabelsNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/labels/127.0.0.1@3307"));
}
@Test
public void assertGetInstanceWorkerIdNodePath() {
- assertThat(ComputeNode.getInstanceWorkerIdNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/attributes/127.0.0.1@3307/worker_id"));
+ assertThat(ComputeNode.getInstanceWorkerIdNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/worker_id/127.0.0.1@3307"));
}
@Test
- public void assertGetInstanceIdByAttributes() {
- assertThat(ComputeNode.getInstanceIdByAttributes("/nodes/compute_nodes/attributes/127.0.0.1@3307/status"), is("127.0.0.1@3307"));
- assertThat(ComputeNode.getInstanceIdByAttributes("/nodes/compute_nodes/attributes/127.0.0.1@3308/worker_id"), is("127.0.0.1@3308"));
- assertThat(ComputeNode.getInstanceIdByAttributes("/nodes/compute_nodes/attributes/127.0.0.1@3309/labels"), is("127.0.0.1@3309"));
+ public void assertGetInstanceIdByComuteNodePath() {
+ assertThat(ComputeNode.getInstanceIdByComputeNode("/nodes/compute_nodes/status/127.0.0.1@3307"), is("127.0.0.1@3307"));
+ assertThat(ComputeNode.getInstanceIdByComputeNode("/nodes/compute_nodes/worker_id/127.0.0.1@3308"), is("127.0.0.1@3308"));
+ assertThat(ComputeNode.getInstanceIdByComputeNode("/nodes/compute_nodes/labels/127.0.0.1@3309"), is("127.0.0.1@3309"));
}
@Test
public void assertGetInstanceStatusNodePath() {
- assertThat(ComputeNode.getInstanceStatusNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/attributes/127.0.0.1@3307/status"));
+ assertThat(ComputeNode.getInstanceStatusNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/status/127.0.0.1@3307"));
}
@Test
public void assertGetInstanceXaRecoveryIdNodePath() {
- assertThat(ComputeNode.getInstanceXaRecoveryIdNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/attributes/127.0.0.1@3307/xa_recovery_id"));
+ assertThat(ComputeNode.getInstanceXaRecoveryIdNodePath("127.0.0.1@3307"), is("/nodes/compute_nodes/xa_recovery_id/127.0.0.1@3307"));
}
@Test
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeStateChangedWatcher.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeStateChan [...]
index f2f75ae4a03..fc56ba6e0f5 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeStateChangedWatcher.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeStateChangedWatcher.java
@@ -60,7 +60,7 @@ public final class ComputeNodeStateChangedWatcher implements GovernanceWatcher<G
@Override
public Optional<GovernanceEvent> createGovernanceEvent(final DataChangedEvent event) {
- String instanceId = ComputeNode.getInstanceIdByAttributes(event.getKey());
+ String instanceId = ComputeNode.getInstanceIdByComputeNode(event.getKey());
if (!Strings.isNullOrEmpty(instanceId)) {
if (event.getKey().equals(ComputeNode.getInstanceStatusNodePath(instanceId))) {
Collection<String> status = Strings.isNullOrEmpty(event.getValue()) ? new ArrayList<>() : YamlEngine.unmarshal(event.getValue(), Collection.class);
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeStateChangedWatcherTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeState [...]
index 640f90bec18..a5504b71e8a 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeStateChangedWatcherTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/compute/watcher/ComputeNodeStateChangedWatcherTest.java
@@ -37,8 +37,8 @@ import static org.junit.Assert.assertTrue;
public final class ComputeNodeStateChangedWatcherTest {
@Test
- public void assertCreateEventWhenEnabled() {
- Optional<GovernanceEvent> actual = new ComputeNodeStateChangedWatcher().createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/attributes/127.0.0.1@3307/status",
+ public void assertCreateEventWhenDisabled() {
+ Optional<GovernanceEvent> actual = new ComputeNodeStateChangedWatcher().createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/status/127.0.0.1@3307",
YamlEngine.marshal(Arrays.asList(ComputeNodeStatus.CIRCUIT_BREAK.name())), Type.ADDED));
assertTrue(actual.isPresent());
assertThat(((StateEvent) actual.get()).getStatus(), is(Arrays.asList(ComputeNodeStatus.CIRCUIT_BREAK.name())));
@@ -46,9 +46,9 @@ public final class ComputeNodeStateChangedWatcherTest {
}
@Test
- public void assertCreateEventWhenDisabled() {
+ public void assertCreateEventWhenDEnabled() {
Optional<GovernanceEvent> actual = new ComputeNodeStateChangedWatcher()
- .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/attributes/127.0.0.1@3307/status", "", Type.UPDATED));
+ .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/status/127.0.0.1@3307", "", Type.UPDATED));
assertTrue(actual.isPresent());
assertTrue(((StateEvent) actual.get()).getStatus().isEmpty());
assertThat(((StateEvent) actual.get()).getInstanceId(), is("127.0.0.1@3307"));
@@ -57,7 +57,7 @@ public final class ComputeNodeStateChangedWatcherTest {
@Test
public void assertCreateAddWorkerIdEvent() {
Optional<GovernanceEvent> actual = new ComputeNodeStateChangedWatcher()
- .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/attributes/127.0.0.1@3307/worker_id", "123", Type.ADDED));
+ .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/worker_id/127.0.0.1@3307", "123", Type.ADDED));
assertTrue(actual.isPresent());
assertThat(((WorkerIdEvent) actual.get()).getWorkerId(), is(123L));
assertThat(((WorkerIdEvent) actual.get()).getInstanceId(), is("127.0.0.1@3307"));
@@ -66,7 +66,7 @@ public final class ComputeNodeStateChangedWatcherTest {
@Test
public void assertCreateUpdateWorkerIdEvent() {
Optional<GovernanceEvent> actual = new ComputeNodeStateChangedWatcher()
- .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/attributes/127.0.0.1@3307/worker_id", "123", Type.UPDATED));
+ .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/worker_id/127.0.0.1@3307", "123", Type.UPDATED));
assertTrue(actual.isPresent());
assertThat(((WorkerIdEvent) actual.get()).getWorkerId(), is(123L));
assertThat(((WorkerIdEvent) actual.get()).getInstanceId(), is("127.0.0.1@3307"));
@@ -75,7 +75,7 @@ public final class ComputeNodeStateChangedWatcherTest {
@Test
public void assertCreateAddLabelEvent() {
Optional<GovernanceEvent> actual = new ComputeNodeStateChangedWatcher()
- .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/attributes/127.0.0.1@3307/labels",
+ .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/labels/127.0.0.1@3307",
YamlEngine.marshal(Arrays.asList("label_1", "label_2")), Type.ADDED));
assertTrue(actual.isPresent());
assertThat(((LabelsEvent) actual.get()).getLabels(), is(Arrays.asList("label_1", "label_2")));
@@ -85,7 +85,7 @@ public final class ComputeNodeStateChangedWatcherTest {
@Test
public void assertCreateUpdateLabelsEvent() {
Optional<GovernanceEvent> actual = new ComputeNodeStateChangedWatcher()
- .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/attributes/127.0.0.1@3307/labels",
+ .createGovernanceEvent(new DataChangedEvent("/nodes/compute_nodes/labels/127.0.0.1@3307",
YamlEngine.marshal(Arrays.asList("label_1", "label_2")), Type.UPDATED));
assertTrue(actual.isPresent());
assertThat(((LabelsEvent) actual.get()).getLabels(), is(Arrays.asList("label_1", "label_2")));