You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/04/30 14:27:45 UTC
[shardingsphere] branch master updated: Rename ShowProcessListLock (#25421)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 c7191f6187d Rename ShowProcessListLock (#25421)
c7191f6187d is described below
commit c7191f6187d99b356430c65e25d7008383eead25
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Apr 30 22:27:38 2023 +0800
Rename ShowProcessListLock (#25421)
---
...Sphere\342\200\231s_Show_processlist_&_Kill_Work.en.md" | 12 ++++++------
.../infra/executor/sql/process/ShowProcessListManager.java | 7 ++++---
...ProcessListSimpleLock.java => ShowProcessListLock.java} | 4 ++--
.../process/subscriber/ProcessRegistrySubscriber.java | 12 ++++++------
.../subscriber/ProcessListChangedSubscriber.java | 14 +++++++-------
.../subscriber/ProcessListChangedSubscriberTest.java | 6 +++---
.../standalone/subscriber/ProcessStandaloneSubscriber.java | 2 +-
.../subscriber/ProcessStandaloneSubscriberTest.java | 2 +-
8 files changed, 30 insertions(+), 29 deletions(-)
diff --git "a/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md" "b/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md"
index 25a791bb0ca..e676b2ec1d0 100644
--- "a/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md"
+++ "b/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md"
@@ -330,9 +330,9 @@ public final class ClusterContextManagerCoordinator {
@Subscribe
public synchronized void completeUnitShowProcessList(final ShowProcessListUnitCompleteEvent event) {
- ShowProcessListSimpleLock simpleLock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
- if (null != simpleLock) {
- simpleLock.doNotify();
+ ShowProcessListLock lock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
+ if (null != lock) {
+ lock.doNotify();
}
}
}
@@ -349,9 +349,9 @@ public final class ClusterContextManagerCoordinator {
@Subscribe
public synchronized void completeUnitShowProcessList(final ShowProcessListUnitCompleteEvent event) {
- ShowProcessListSimpleLock simpleLock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
- if (null != simpleLock) {
- simpleLock.doNotify();
+ ShowProcessListLock lock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
+ if (null != lock) {
+ lock.doNotify();
}
}
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java
index 7d14297168b..265e36d13f4 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.infra.executor.sql.process;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListSimpleLock;
+import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListLock;
import java.sql.Statement;
import java.util.Collection;
@@ -32,16 +32,17 @@ import java.util.concurrent.ConcurrentHashMap;
* Show process list manager.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-@Getter
public final class ShowProcessListManager {
private static final ShowProcessListManager INSTANCE = new ShowProcessListManager();
private final Map<String, ProcessContext> processContexts = new ConcurrentHashMap<>();
+ @Getter
private final Map<String, Collection<Statement>> processStatements = new ConcurrentHashMap<>();
- private final Map<String, ShowProcessListSimpleLock> locks = new ConcurrentHashMap<>();
+ @Getter
+ private final Map<String, ShowProcessListLock> locks = new ConcurrentHashMap<>();
/**
* Get show process list manager.
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListSimpleLock.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListLock.java
similarity index 95%
rename from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListSimpleLock.java
rename to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListLock.java
index 412d7268790..8a1d3e67f66 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListSimpleLock.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListLock.java
@@ -25,9 +25,9 @@ import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
- * Show process list simple lock.
+ * Show process list lock.
*/
-public final class ShowProcessListSimpleLock {
+public final class ShowProcessListLock {
private static final long DEFAULT_TIMEOUT_MILLISECONDS = 5000L;
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java
index 10205b424d3..e3e6f279885 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.proc
import com.google.common.eventbus.Subscribe;
import org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
-import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListSimpleLock;
+import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListLock;
import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
@@ -117,18 +117,18 @@ public final class ProcessRegistrySubscriber {
}
private boolean waitAllNodeDataReady(final String processId, final Collection<String> paths) {
- ShowProcessListSimpleLock simpleLock = new ShowProcessListSimpleLock();
- ShowProcessListManager.getInstance().getLocks().put(processId, simpleLock);
- simpleLock.lock();
+ ShowProcessListLock lock = new ShowProcessListLock();
+ ShowProcessListManager.getInstance().getLocks().put(processId, lock);
+ lock.lock();
try {
while (!isReady(paths)) {
- if (!simpleLock.awaitDefaultTime()) {
+ if (!lock.awaitDefaultTime()) {
return false;
}
}
return true;
} finally {
- simpleLock.unlock();
+ lock.unlock();
ShowProcessListManager.getInstance().getLocks().remove(processId);
}
}
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java
index 890a7507c09..f5db97ce0b6 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mode.manager.cluster.coordinator.subscriber;
import com.google.common.eventbus.Subscribe;
import org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
-import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListSimpleLock;
+import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListLock;
import org.apache.shardingsphere.infra.executor.sql.process.ProcessContext;
import org.apache.shardingsphere.infra.executor.sql.process.yaml.swapper.YamlProcessListContextsSwapper;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
@@ -97,9 +97,9 @@ public final class ProcessListChangedSubscriber {
*/
@Subscribe
public synchronized void completeUnitShowProcessList(final ShowProcessListUnitCompleteEvent event) {
- ShowProcessListSimpleLock simpleLock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
- if (null != simpleLock) {
- simpleLock.doNotify();
+ ShowProcessListLock lock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
+ if (null != lock) {
+ lock.doNotify();
}
}
@@ -110,9 +110,9 @@ public final class ProcessListChangedSubscriber {
*/
@Subscribe
public synchronized void completeUnitKillProcessId(final KillProcessIdUnitCompleteEvent event) {
- ShowProcessListSimpleLock simpleLock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
- if (null != simpleLock) {
- simpleLock.doNotify();
+ ShowProcessListLock lock = ShowProcessListManager.getInstance().getLocks().get(event.getProcessId());
+ if (null != lock) {
+ lock.doNotify();
}
}
}
diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
index d9650fa39bf..57921275ece 100644
--- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
+++ b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
import org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
-import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListSimpleLock;
+import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListLock;
import org.apache.shardingsphere.infra.executor.sql.process.ProcessContext;
import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
import org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaData;
@@ -101,7 +101,7 @@ class ProcessListChangedSubscriberTest {
@Test
void assertCompleteUnitShowProcessList() {
String processId = "foo_process_id";
- ShowProcessListSimpleLock lock = new ShowProcessListSimpleLock();
+ ShowProcessListLock lock = new ShowProcessListLock();
ShowProcessListManager.getInstance().getLocks().put(processId, lock);
long startTime = System.currentTimeMillis();
ExecutorService executorService = Executors.newFixedThreadPool(1);
@@ -140,7 +140,7 @@ class ProcessListChangedSubscriberTest {
verify(repository).delete("/nodes/compute_nodes/process_kill/" + instanceId + ":foo_process_id");
}
- private void lockAndAwaitDefaultTime(final ShowProcessListSimpleLock lock) {
+ private void lockAndAwaitDefaultTime(final ShowProcessListLock lock) {
lock.lock();
try {
lock.awaitDefaultTime();
diff --git a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java
index abc4e2877ff..0b7d1f6df13 100644
--- a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java
+++ b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java
@@ -55,7 +55,7 @@ public final class ProcessStandaloneSubscriber {
*/
@Subscribe
public void loadShowProcessListData(final ShowProcessListRequestEvent event) {
- YamlProcessListContexts yamlContexts = swapper.swapToYamlConfiguration(ShowProcessListManager.getInstance().getProcessContexts().values());
+ YamlProcessListContexts yamlContexts = swapper.swapToYamlConfiguration(ShowProcessListManager.getInstance().getAllProcessContexts());
eventBusContext.post(new ShowProcessListResponseEvent(yamlContexts.getContexts().isEmpty() ? Collections.emptyList() : Collections.singleton(YamlEngine.marshal(yamlContexts))));
}
diff --git a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java
index 08c25270824..8a9c85be626 100644
--- a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java
+++ b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriberTest.java
@@ -38,6 +38,6 @@ class ProcessStandaloneSubscriberTest {
ShowProcessListManager showProcessListManager = mock(ShowProcessListManager.class);
when(ShowProcessListManager.getInstance()).thenReturn(showProcessListManager);
new ProcessStandaloneSubscriber(new EventBusContext()).loadShowProcessListData(mock(ShowProcessListRequestEvent.class));
- verify(showProcessListManager).getProcessContexts();
+ verify(showProcessListManager).getAllProcessContexts();
}
}