You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by lt...@apache.org on 2019/07/27 06:48:38 UTC
[incubator-iotdb] 01/01: add show dynamic parameters
This is an automated email from the ASF dual-hosted git repository.
lta pushed a commit to branch add_show_dyna_para
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 466080227aa472f176e40c2d24977fe72de7e931
Author: lta <li...@163.com>
AuthorDate: Sat Jul 27 14:48:19 2019 +0800
add show dynamic parameters
---
.../org/apache/iotdb/db/conf/IoTDBConstant.java | 2 ++
.../iotdb/db/conf/adapter/CompressionRatio.java | 2 +-
.../db/conf/adapter/IoTDBConfigDynamicAdapter.java | 2 +-
.../org/apache/iotdb/db/service/TSServiceImpl.java | 33 +++++++++++++++++++++-
4 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
index 383a350..3ea1621 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
@@ -59,6 +59,8 @@ public class IoTDBConstant {
public static final String SHOW_FLUSH_TASK_INFO = "show\\s+flush\\s+task\\s+info";
+ public static final String SHOW_DYNAMIC_PARAMETERS = "show\\s+dynamic\\s+parameters";
+
public static final String ROLE = "Role";
public static final String USER = "User";
public static final String PRIVILEGE = "Privilege";
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/adapter/CompressionRatio.java b/server/src/main/java/org/apache/iotdb/db/conf/adapter/CompressionRatio.java
index d7a00ac..389076c 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/adapter/CompressionRatio.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/adapter/CompressionRatio.java
@@ -95,7 +95,7 @@ public class CompressionRatio {
/**
* Get the average compression ratio for all closed files
*/
- synchronized double getRatio() {
+ public synchronized double getRatio() {
return calcTimes == 0 ? DEFAULT_COMPRESSION_RATIO : compressionRatioSum / calcTimes;
}
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/adapter/IoTDBConfigDynamicAdapter.java b/server/src/main/java/org/apache/iotdb/db/conf/adapter/IoTDBConfigDynamicAdapter.java
index d80ad02..2ceaa0f 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/adapter/IoTDBConfigDynamicAdapter.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/adapter/IoTDBConfigDynamicAdapter.java
@@ -241,7 +241,7 @@ public class IoTDBConfigDynamicAdapter implements IDynamicAdapter {
return currentMemTableSize;
}
- int getTotalTimeseries() {
+ public int getTotalTimeseries() {
return totalTimeseries;
}
diff --git a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index d6fd4a6..23f2d67 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@ -42,6 +42,8 @@ import org.apache.iotdb.db.auth.authorizer.LocalFileAuthorizer;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBConstant;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.conf.adapter.CompressionRatio;
+import org.apache.iotdb.db.conf.adapter.IoTDBConfigDynamicAdapter;
import org.apache.iotdb.db.cost.statistic.Measurement;
import org.apache.iotdb.db.cost.statistic.Operation;
import org.apache.iotdb.db.engine.StorageEngine;
@@ -499,6 +501,20 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext {
return getTSExecuteStatementResp(TS_StatusCode.SUCCESS_WITH_INFO_STATUS, msg);
}
+ if (execShowDynamicParameters(statement)) {
+ String msg = String.format(
+ "Memtable size threshold: %dB , Memtable number: %d , Tsfile size threshold: %dB , Compression ratio: %f ,"
+ + "Storage group number: %d , Timeseries number: %d, Maximal timeseries number among storage groups: %d",
+ IoTDBDescriptor.getInstance().getConfig().getMemtableSizeThreshold(),
+ IoTDBDescriptor.getInstance().getConfig().getMaxMemtableNumber(),
+ IoTDBDescriptor.getInstance().getConfig().getTsFileSizeThreshold(),
+ CompressionRatio.getInstance().getRatio(),
+ MManager.getInstance().getAllStorageGroup().size(),
+ IoTDBConfigDynamicAdapter.getInstance().getTotalTimeseries(),
+ MManager.getInstance().getMaximalSeriesNumberAmongStorageGroups());
+ return getTSExecuteStatementResp(TS_StatusCode.SUCCESS_WITH_INFO_STATUS, msg);
+ }
+
if (execSetConsistencyLevel(statement)) {
return getTSExecuteStatementResp(TS_StatusCode.SUCCESS_WITH_INFO_STATUS,
"Execute set consistency level successfully");
@@ -522,7 +538,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext {
}
/**
- * Set consistency level
+ * Show flush info
*/
private boolean execShowFlushInfo(String statement) {
if (statement == null) {
@@ -537,6 +553,21 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext {
}
/**
+ * Show dynamic parameters
+ */
+ private boolean execShowDynamicParameters(String statement) {
+ if (statement == null) {
+ return false;
+ }
+ statement = statement.toLowerCase().trim();
+ if (Pattern.matches(IoTDBConstant.SHOW_DYNAMIC_PARAMETERS, statement)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /**
* Set consistency level
*/
private boolean execSetConsistencyLevel(String statement) throws SQLException {