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 <[email protected]> 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 {
