This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 55082b24529 Make Windows metric binding asynchronous and remove test
waits (#17423)
55082b24529 is described below
commit 55082b245298c9aeb08deebcaccb5ff2acccb893
Author: Haonan <[email protected]>
AuthorDate: Thu Apr 2 14:58:30 2026 +0800
Make Windows metric binding asynchronous and remove test waits (#17423)
---
.../java/org/apache/iotdb/session/it/IoTDBConnectionsIT.java | 1 -
.../java/org/apache/iotdb/session/it/pool/SessionPoolIT.java | 2 --
.../org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java | 11 +++++++++++
.../metrics/metricsets/disk/WindowsDiskMetricsManager.java | 10 ----------
.../org/apache/iotdb/metrics/metricsets/net/NetMetrics.java | 11 +++++++++++
.../iotdb/metrics/metricsets/net/WindowsNetMetricManager.java | 4 +---
6 files changed, 23 insertions(+), 16 deletions(-)
diff --git
a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBConnectionsIT.java
b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBConnectionsIT.java
index 591980548e2..80aa854e66c 100644
---
a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBConnectionsIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBConnectionsIT.java
@@ -341,7 +341,6 @@ public class IoTDBConnectionsIT {
TimeUnit.SECONDS.sleep(1);
}
}
- TimeUnit.SECONDS.sleep(5);
}
@Test
diff --git
a/integration-test/src/test/java/org/apache/iotdb/session/it/pool/SessionPoolIT.java
b/integration-test/src/test/java/org/apache/iotdb/session/it/pool/SessionPoolIT.java
index f42d4237ea9..648a6918331 100644
---
a/integration-test/src/test/java/org/apache/iotdb/session/it/pool/SessionPoolIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/session/it/pool/SessionPoolIT.java
@@ -268,7 +268,6 @@ public class SessionPoolIT {
.ensureNodeStatus(
Collections.singletonList(node),
Collections.singletonList(NodeStatus.Running));
pool = EnvFactory.getEnv().getSessionPool(3);
- TimeUnit.SECONDS.sleep(5);
correctQuery(pool, DEFAULT_QUERY_TIMEOUT);
pool.close();
return;
@@ -354,7 +353,6 @@ public class SessionPoolIT {
EnvFactory.getEnv()
.ensureNodeStatus(
Collections.singletonList(node),
Collections.singletonList(NodeStatus.Running));
- TimeUnit.SECONDS.sleep(5);
write10Data(pool, true);
pool.close();
}
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java
index c9c2b393cde..6811c8143d2 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java
@@ -50,6 +50,17 @@ public class DiskMetrics implements IMetricSet {
@Override
public void bindTo(AbstractMetricService metricService) {
+ String os = System.getProperty("os.name").toLowerCase();
+ if (os.startsWith("windows")) {
+ Thread thread = new Thread(() -> bindTask(metricService),
"Windows-Disk-Metric-Binder");
+ thread.setDaemon(true);
+ thread.start();
+ return;
+ }
+ bindTask(metricService);
+ }
+
+ private void bindTask(AbstractMetricService metricService) {
// metrics for disks
Set<String> diskIDs = diskMetricsManager.getDiskIds();
for (String diskID : diskIDs) {
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java
index b83e0c5aa17..a82b048f6db 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java
@@ -106,7 +106,6 @@ public class WindowsDiskMetricsManager implements
IDiskMetricsManager {
public WindowsDiskMetricsManager() {
processId =
String.valueOf(MetricConfigDescriptor.getInstance().getMetricConfig().getPid());
- collectDiskId();
}
@Override
@@ -235,15 +234,6 @@ public class WindowsDiskMetricsManager implements
IDiskMetricsManager {
return diskIdSet;
}
- private void collectDiskId() {
- Map<String, String[]> diskInfoMap = queryDiskInfo();
- if (diskInfoMap.isEmpty()) {
- return;
- }
- diskIdSet.clear();
- diskIdSet.addAll(diskInfoMap.keySet());
- }
-
private Map<String, Double> toKbMap(Map<String, Long> source) {
Map<String, Double> result = new HashMap<>(source.size());
for (Map.Entry<String, Long> entry : source.entrySet()) {
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/NetMetrics.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/NetMetrics.java
index 3561fd7997c..49c98702ad7 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/NetMetrics.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/NetMetrics.java
@@ -41,6 +41,17 @@ public class NetMetrics implements IMetricSet {
@Override
public void bindTo(AbstractMetricService metricService) {
+ String os = System.getProperty("os.name").toLowerCase();
+ if (os.startsWith("windows")) {
+ Thread thread = new Thread(() -> bindTask(metricService),
"Windows-Net-Metric-Binder");
+ thread.setDaemon(true);
+ thread.start();
+ return;
+ }
+ bindTask(metricService);
+ }
+
+ private void bindTask(AbstractMetricService metricService) {
// metrics for net
Set<String> ifaceSet = netMetricManager.getIfaceSet();
for (String iface : ifaceSet) {
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/WindowsNetMetricManager.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/WindowsNetMetricManager.java
index 7fb82ffaa0d..62991048cab 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/WindowsNetMetricManager.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/WindowsNetMetricManager.java
@@ -56,9 +56,7 @@ public class WindowsNetMetricManager implements
INetMetricManager {
private int connectionNum = 0;
- public WindowsNetMetricManager() {
- checkUpdate();
- }
+ public WindowsNetMetricManager() {}
@Override
public Set<String> getIfaceSet() {