This is an automated email from the ASF dual-hosted git repository.

qiaojialin 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 2daf974568 [IOTDB-3372] Divide the Slots in the display results of 
show regions into two columns: series slots and time slots (#6499)
2daf974568 is described below

commit 2daf9745687505d03aa8fa7a00fd4f87626e03b3
Author: 任宇华 <[email protected]>
AuthorDate: Wed Jun 29 20:58:08 2022 +0800

    [IOTDB-3372] Divide the Slots in the display results of show regions into 
two columns: series slots and time slots (#6499)
---
 .../persistence/partition/RegionGroup.java         |  6 +-
 .../partition/StorageGroupPartitionTable.java      |  9 ++-
 .../Maintenance-Tools/Maintenance-Command.md       | 94 ++++++++++++++++------
 .../Maintenance-Tools/Maintenance-Command.md       | 94 ++++++++++++++++------
 .../iotdb/db/mpp/common/header/HeaderConstant.java |  6 +-
 .../mpp/plan/execution/config/ShowRegionTask.java  |  9 ++-
 thrift-commons/src/main/thrift/common.thrift       |  5 +-
 7 files changed, 161 insertions(+), 62 deletions(-)

diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java
index 555a5195f8..4f0c4298b2 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionGroup.java
@@ -35,8 +35,10 @@ public class RegionGroup {
 
   private final TRegionReplicaSet replicaSet;
 
-  // For DataRegion, each SeriesSlot * TimeSlot form a slot,
-  // for SchemaRegion, each SeriesSlot is a slot
+  // For DataRegion, a SeriesSlot and a TimeSlot constitute a DataPartition.
+  // Eg: A DataRegion contains SeriesSlot-1 which has TimeSlot-1, TimeSlot-2 
and Timeslot-3,
+  // then (SeriesSlot-1 -> TimeSlot-1) constitute a DataPartition.
+  // For SchemaRegion, each SeriesSlot constitute a SchemaPartition.
   private final AtomicLong slotCount;
 
   public RegionGroup() {
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
index 081030cb5c..525247728e 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
@@ -386,8 +386,13 @@ public class StorageGroupPartitionTable {
               TRegionInfo tRegionInfoList = new TRegionInfo();
               tRegionInfoList.setConsensusGroupId(replicaSet.getRegionId());
               tRegionInfoList.setStorageGroup(storageGroupName);
-              long slots = regionGroup.getCounter();
-              tRegionInfoList.setSlots((int) slots);
+              if (replicaSet.getRegionId().getType() == 
TConsensusGroupType.DataRegion) {
+                
tRegionInfoList.setSeriesSlots(dataPartitionTable.getDataPartitionMap().size());
+                tRegionInfoList.setTimeSlots(regionGroup.getCounter());
+              } else if (replicaSet.getRegionId().getType() == 
TConsensusGroupType.SchemaRegion) {
+                tRegionInfoList.setSeriesSlots(regionGroup.getCounter());
+                tRegionInfoList.setTimeSlots(0);
+              }
               tRegionInfoList.setDataNodeId(dataNodeLocation.getDataNodeId());
               
tRegionInfoList.setClientRpcIp(dataNodeLocation.getClientRpcEndPoint().getIp());
               
tRegionInfoList.setClientRpcPort(dataNodeLocation.getClientRpcEndPoint().getPort());
diff --git a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md 
b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
index 6df5352bf9..25210d8c8b 100644
--- a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -137,47 +137,91 @@ Msg: The statement is executed successfully.
 IoTDB> create timeseries root.ln.d1.s1 with datatype=BOOLEAN,encoding=PLAIN
 Msg: The statement is executed successfully.
 IoTDB> show regions
-+--------+------------+------+-------------+-----+----------+---------+----+
-|RegionId|        Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+------------+------+-------------+-----+----------+---------+----+
-|       0|SchemaRegion|    Up|      root.sg|    2|         2|127.0.0.1|6669|
-|       1|SchemaRegion|    Up|      root.ln|    1|         3|127.0.0.1|6667|
-+--------+------------+------+-------------+-----+----------+---------+----+
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|        Type|Status|storage group|Series Slots|Time 
Slots|DataNodeId|     Host|Port|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|       0|SchemaRegion|    Up|      root.sg|           2|         0|         
3|127.0.0.1|6671|
+|       1|SchemaRegion|    Up|      root.ln|           1|         0|         
2|127.0.0.1|6667|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 2
 It costs 0.035s
 
 IoTDB> insert into root.sg.d1(timestamp,s1) values(1,true)
 Msg: The statement is executed successfully.
 IoTDB> show regions
-+--------+------------+------+-------------+-----+----------+---------+----+
-|RegionId|        Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+------------+------+-------------+-----+----------+---------+----+
-|       0|SchemaRegion|    Up|      root.sg|    2|         2|127.0.0.1|6669|
-|       1|SchemaRegion|    Up|      root.ln|    1|         3|127.0.0.1|6667|
-|       2|  DataRegion|    Up|      root.sg|    1|         1|127.0.0.1|6671|
-+--------+------------+------+-------------+-----+----------+---------+----+
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|        Type|Status|storage group|Series Slots|Time 
Slots|DataNodeId|     Host|Port|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|       0|SchemaRegion|    Up|      root.sg|           2|         0|         
3|127.0.0.1|6671|
+|       1|  DataRegion|    Up|      root.sg|           1|         1|         
1|127.0.0.1|6669|
+|       1|SchemaRegion|    Up|      root.ln|           1|         0|         
2|127.0.0.1|6667|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 3
 It costs 0.010s
 
 IoTDB> insert into root.ln.d1(timestamp,s1) values(1,true)
 Msg: The statement is executed successfully.
 IoTDB> show data regions
-+--------+----------+------+-------------+-----+----------+---------+----+
-|RegionId|      Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+----------+------+-------------+-----+----------+---------+----+
-|       2|DataRegion|    Up|      root.sg|    1|         1|127.0.0.1|6671|
-|       3|DataRegion|    Up|      root.ln|    1|         1|127.0.0.1|6671|
-+--------+----------+------+-------------+-----+----------+---------+----+
++--------+----------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|      Type|Status|storage group|Series Slots|Time Slots|DataNodeId|  
   Host|Port|
++--------+----------+------+-------------+------------+----------+----------+---------+----+
+|       1|DataRegion|    Up|      root.sg|           1|         1|         
1|127.0.0.1|6669|
+|       2|DataRegion|    Up|      root.ln|           1|         1|         
1|127.0.0.1|6669|
++--------+----------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 2
 It costs 0.011s
 IoTDB> show schema regions
-+--------+------------+------+-------------+-----+----------+---------+----+
-|RegionId|        Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+------------+------+-------------+-----+----------+---------+----+
-|       0|SchemaRegion|    Up|      root.sg|    2|         2|127.0.0.1|6669|
-|       1|SchemaRegion|    Up|      root.ln|    1|         3|127.0.0.1|6667|
-+--------+------------+------+-------------+-----+----------+---------+----+
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|        Type|Status|storage group|Series Slots|Time 
Slots|DataNodeId|     Host|Port|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|       0|SchemaRegion|    Up|      root.sg|           2|         0|         
3|127.0.0.1|6671|
+|       1|SchemaRegion|    Up|      root.ln|           1|         0|         
2|127.0.0.1|6667|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 2
 It costs 0.012s
 ```
 
+## Cluster node status viewing tool 
+
+Show all node information: 
+
+```
+SHOW CLUSTER
+```
+
+Eg:
+
+```
+IoTDB> show cluster
++------+----------+-------+---------+-----+
+|NodeID|  NodeType| Status|     Host| Port|
++------+----------+-------+---------+-----+
+|     4|ConfigNode|Running|  0.0.0.0|22279|
+|     0|ConfigNode|Running|  0.0.0.0|22277|
+|     5|ConfigNode|Running|  0.0.0.0|22281|
+|     1|  DataNode|Running|127.0.0.1| 9005|
+|     2|  DataNode|Running|127.0.0.1| 9003|
+|     3|  DataNode|Running|127.0.0.1| 9007|
++------+----------+-------+---------+-----+
+Total line number = 6
+It costs 0.011s
+```
+
+After a node is stopped, its status will change, as shown below:
+
+```
+IoTDB> show cluster
++------+----------+-------+---------+-----+
+|NodeID|  NodeType| Status|     Host| Port|
++------+----------+-------+---------+-----+
+|     4|ConfigNode|Running|  0.0.0.0|22279|
+|     0|ConfigNode|Running|  0.0.0.0|22277|
+|     5|ConfigNode|Unknown|  0.0.0.0|22281|
+|     1|  DataNode|Running|127.0.0.1| 9005|
+|     2|  DataNode|Running|127.0.0.1| 9003|
+|     3|  DataNode|Running|127.0.0.1| 9007|
++------+----------+-------+---------+-----+
+Total line number = 6
+It costs 0.012s
+```
+
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md 
b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
index 875014ad75..212dd04060 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -132,47 +132,91 @@ Msg: The statement is executed successfully.
 IoTDB> create timeseries root.ln.d1.s1 with datatype=BOOLEAN,encoding=PLAIN
 Msg: The statement is executed successfully.
 IoTDB> show regions
-+--------+------------+------+-------------+-----+----------+---------+----+
-|RegionId|        Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+------------+------+-------------+-----+----------+---------+----+
-|       0|SchemaRegion|    Up|      root.sg|    2|         2|127.0.0.1|6669|
-|       1|SchemaRegion|    Up|      root.ln|    1|         3|127.0.0.1|6667|
-+--------+------------+------+-------------+-----+----------+---------+----+
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|        Type|Status|storage group|Series Slots|Time 
Slots|DataNodeId|     Host|Port|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|       0|SchemaRegion|    Up|      root.sg|           2|         0|         
3|127.0.0.1|6671|
+|       1|SchemaRegion|    Up|      root.ln|           1|         0|         
2|127.0.0.1|6667|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 2
 It costs 0.035s
 
 IoTDB> insert into root.sg.d1(timestamp,s1) values(1,true)
 Msg: The statement is executed successfully.
 IoTDB> show regions
-+--------+------------+------+-------------+-----+----------+---------+----+
-|RegionId|        Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+------------+------+-------------+-----+----------+---------+----+
-|       0|SchemaRegion|    Up|      root.sg|    2|         2|127.0.0.1|6669|
-|       1|SchemaRegion|    Up|      root.ln|    1|         3|127.0.0.1|6667|
-|       2|  DataRegion|    Up|      root.sg|    1|         1|127.0.0.1|6671|
-+--------+------------+------+-------------+-----+----------+---------+----+
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|        Type|Status|storage group|Series Slots|Time 
Slots|DataNodeId|     Host|Port|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|       0|SchemaRegion|    Up|      root.sg|           2|         0|         
3|127.0.0.1|6671|
+|       1|  DataRegion|    Up|      root.sg|           1|         1|         
1|127.0.0.1|6669|
+|       1|SchemaRegion|    Up|      root.ln|           1|         0|         
2|127.0.0.1|6667|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 3
 It costs 0.010s
 
 IoTDB> insert into root.ln.d1(timestamp,s1) values(1,true)
 Msg: The statement is executed successfully.
 IoTDB> show data regions
-+--------+----------+------+-------------+-----+----------+---------+----+
-|RegionId|      Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+----------+------+-------------+-----+----------+---------+----+
-|       2|DataRegion|    Up|      root.sg|    1|         1|127.0.0.1|6671|
-|       3|DataRegion|    Up|      root.ln|    1|         1|127.0.0.1|6671|
-+--------+----------+------+-------------+-----+----------+---------+----+
++--------+----------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|      Type|Status|storage group|Series Slots|Time Slots|DataNodeId|  
   Host|Port|
++--------+----------+------+-------------+------------+----------+----------+---------+----+
+|       1|DataRegion|    Up|      root.sg|           1|         1|         
1|127.0.0.1|6669|
+|       2|DataRegion|    Up|      root.ln|           1|         1|         
1|127.0.0.1|6669|
++--------+----------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 2
 It costs 0.011s
 IoTDB> show schema regions
-+--------+------------+------+-------------+-----+----------+---------+----+
-|RegionId|        Type|Status|storage group|Slots|DataNodeId|     Host|Port|
-+--------+------------+------+-------------+-----+----------+---------+----+
-|       0|SchemaRegion|    Up|      root.sg|    2|         2|127.0.0.1|6669|
-|       1|SchemaRegion|    Up|      root.ln|    1|         3|127.0.0.1|6667|
-+--------+------------+------+-------------+-----+----------+---------+----+
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|RegionId|        Type|Status|storage group|Series Slots|Time 
Slots|DataNodeId|     Host|Port|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
+|       0|SchemaRegion|    Up|      root.sg|           2|         0|         
3|127.0.0.1|6671|
+|       1|SchemaRegion|    Up|      root.ln|           1|         0|         
2|127.0.0.1|6667|
++--------+------------+------+-------------+------------+----------+----------+---------+----+
 Total line number = 2
 It costs 0.012s
 ```
 
+## 集群节点状态查看工具
+
+查看全部节点信息 : 
+
+```
+SHOW CLUSTER
+```
+
+示例:
+
+```
+IoTDB> show cluster
++------+----------+-------+---------+-----+
+|NodeID|  NodeType| Status|     Host| Port|
++------+----------+-------+---------+-----+
+|     4|ConfigNode|Running|  0.0.0.0|22279|
+|     0|ConfigNode|Running|  0.0.0.0|22277|
+|     5|ConfigNode|Running|  0.0.0.0|22281|
+|     1|  DataNode|Running|127.0.0.1| 9005|
+|     2|  DataNode|Running|127.0.0.1| 9003|
+|     3|  DataNode|Running|127.0.0.1| 9007|
++------+----------+-------+---------+-----+
+Total line number = 6
+It costs 0.011s
+```
+
+停止一个节点之后,节点的状态会发生改变,状态显示如下:
+
+```
+IoTDB> show cluster
++------+----------+-------+---------+-----+
+|NodeID|  NodeType| Status|     Host| Port|
++------+----------+-------+---------+-----+
+|     4|ConfigNode|Running|  0.0.0.0|22279|
+|     0|ConfigNode|Running|  0.0.0.0|22277|
+|     5|ConfigNode|Unknown|  0.0.0.0|22281|
+|     1|  DataNode|Running|127.0.0.1| 9005|
+|     2|  DataNode|Running|127.0.0.1| 9003|
+|     3|  DataNode|Running|127.0.0.1| 9007|
++------+----------+-------+---------+-----+
+Total line number = 6
+It costs 0.012s
+```
+
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/HeaderConstant.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/HeaderConstant.java
index bc2309f9e9..38a59a61d0 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/HeaderConstant.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/HeaderConstant.java
@@ -73,7 +73,8 @@ public class HeaderConstant {
   public static final String COLUMN_REGION_ID = "RegionId";
   public static final String COLUMN_TYPE = "Type";
   public static final String COLUMN_DATANODE_ID = "DataNodeId";
-  public static final String COLUMN_SLOTS = "Slots";
+  public static final String COLUMN_SERIES_SLOTS = "Series Slots";
+  public static final String COLUMN_TIME_SLOTS = "Time Slots";
 
   // dataset header for schema statement
   public static final DatasetHeader showTimeSeriesHeader;
@@ -218,7 +219,8 @@ public class HeaderConstant {
                 new ColumnHeader(COLUMN_TYPE, TSDataType.TEXT),
                 new ColumnHeader(COLUMN_STATUS, TSDataType.TEXT),
                 new ColumnHeader(COLUMN_STORAGE_GROUP, TSDataType.TEXT),
-                new ColumnHeader(COLUMN_SLOTS, TSDataType.INT64),
+                new ColumnHeader(COLUMN_SERIES_SLOTS, TSDataType.INT64),
+                new ColumnHeader(COLUMN_TIME_SLOTS, TSDataType.INT64),
                 new ColumnHeader(COLUMN_DATANODE_ID, TSDataType.INT32),
                 new ColumnHeader(COLUMN_HOST, TSDataType.TEXT),
                 new ColumnHeader(COLUMN_PORT, TSDataType.INT32)),
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java
index 4171409eda..25cdb931ca 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java
@@ -72,10 +72,11 @@ public class ShowRegionTask implements IConfigTask {
             .writeBinary(
                 Binary.valueOf(regionInfo.getStatus() == null ? "" : 
regionInfo.getStatus()));
         
builder.getColumnBuilder(3).writeBinary(Binary.valueOf(regionInfo.getStorageGroup()));
-        builder.getColumnBuilder(4).writeLong(regionInfo.getSlots());
-        builder.getColumnBuilder(5).writeInt(regionInfo.getDataNodeId());
-        
builder.getColumnBuilder(6).writeBinary(Binary.valueOf(regionInfo.getClientRpcIp()));
-        builder.getColumnBuilder(7).writeInt(regionInfo.getClientRpcPort());
+        builder.getColumnBuilder(4).writeLong(regionInfo.getSeriesSlots());
+        builder.getColumnBuilder(5).writeLong(regionInfo.getTimeSlots());
+        builder.getColumnBuilder(6).writeInt(regionInfo.getDataNodeId());
+        
builder.getColumnBuilder(7).writeBinary(Binary.valueOf(regionInfo.getClientRpcIp()));
+        builder.getColumnBuilder(8).writeInt(regionInfo.getClientRpcPort());
         builder.declarePosition();
       }
     }
diff --git a/thrift-commons/src/main/thrift/common.thrift 
b/thrift-commons/src/main/thrift/common.thrift
index b0c0dc8923..c9b80527f6 100644
--- a/thrift-commons/src/main/thrift/common.thrift
+++ b/thrift-commons/src/main/thrift/common.thrift
@@ -83,8 +83,9 @@ struct TRegionInfo {
   3: required i32 dataNodeId
   4: required string clientRpcIp
   5: required i32 clientRpcPort
-  6: required i64 slots
-  7: optional string status
+  6: required i64 seriesSlots
+  7: required i64 timeSlots
+  8: optional string status
 }
 
 struct TDataNodeInfo {

Reply via email to