Skip to content

Commit ccb68fe

Browse files
committed
add sql
1 parent 51fe585 commit ccb68fe

29 files changed

Lines changed: 524 additions & 32 deletions

File tree

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/CnToCnNodeRequestType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public enum CnToCnNodeRequestType {
3030
STOP_AND_CLEAR_CONFIG_NODE,
3131
SET_CONFIGURATION,
3232
SHOW_CONFIGURATION,
33+
SHOW_APPLIED_CONFIGURATIONS,
3334
SUBMIT_TEST_CONNECTION_TASK,
3435
TEST_CONNECTION,
3536
}

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/sync/CnToDnSyncRequestType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public enum CnToDnSyncRequestType {
2525
STOP_AND_CLEAR_DATA_NODE,
2626
SET_SYSTEM_STATUS,
2727
SHOW_CONFIGURATION,
28+
SHOW_APPLIED_CONFIGURATIONS,
2829

2930
// Region Maintenance
3031
CREATE_DATA_REGION,

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/sync/SyncConfigNodeClientPool.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ public Object sendSyncRequestToConfigNodeWithRetry(
9898
return client.submitTestConnectionTask((TNodeLocations) req);
9999
case TEST_CONNECTION:
100100
return client.testConnectionEmptyRPC();
101+
case SHOW_APPLIED_CONFIGURATIONS:
102+
return client.showAppliedConfigurations((int) req);
101103
default:
102104
return RpcUtils.getStatus(
103105
TSStatusCode.EXECUTE_STATEMENT_ERROR, "Unknown request type: " + requestType);

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/sync/SyncDataNodeClientPool.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ private void buildActionMap() {
135135
(req, client) -> client.resetPeerList((TResetPeerListReq) req));
136136
actionMapBuilder.put(
137137
CnToDnSyncRequestType.SHOW_CONFIGURATION, (req, client) -> client.showConfiguration());
138+
actionMapBuilder.put(
139+
CnToDnSyncRequestType.SHOW_APPLIED_CONFIGURATIONS,
140+
(req, client) -> client.showAppliedConfigurations());
138141
actionMap = actionMapBuilder.build();
139142
}
140143

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ private void loadProps() {
147147
}
148148

149149
private void loadProperties(TrimProperties properties) throws BadNodeUrlException, IOException {
150-
conf.setClusterName(properties.getProperty(IoTDBConstant.CLUSTER_NAME, conf.getClusterName()));
150+
loadHotModifiedProps(properties);
151151

152152
conf.setInternalAddress(
153153
properties.getProperty(IoTDBConstant.CN_INTERNAL_ADDRESS, conf.getInternalAddress()));
@@ -765,8 +765,8 @@ public boolean isSeedConfigNode() {
765765
}
766766

767767
public void loadHotModifiedProps(TrimProperties properties) {
768-
Optional.ofNullable(properties.getProperty(IoTDBConstant.CLUSTER_NAME))
769-
.ifPresent(conf::setClusterName);
768+
ConfigurationFileUtils.updateLastAppliedProperties(properties);
769+
conf.setClusterName(properties.getProperty(IoTDBConstant.CLUSTER_NAME, conf.getClusterName()));
770770
}
771771

772772
public static ConfigNodeDescriptor getInstance() {

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.apache.iotdb.common.rpc.thrift.TSetConfigurationReq;
3838
import org.apache.iotdb.common.rpc.thrift.TSetSpaceQuotaReq;
3939
import org.apache.iotdb.common.rpc.thrift.TSetThrottleQuotaReq;
40+
import org.apache.iotdb.common.rpc.thrift.TShowAppliedConfigurationsResp;
4041
import org.apache.iotdb.common.rpc.thrift.TShowConfigurationResp;
4142
import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
4243
import org.apache.iotdb.commons.auth.AuthException;
@@ -1789,6 +1790,23 @@ public TShowConfigurationResp showConfiguration(int nodeId) {
17891790
: new TShowConfigurationResp(status, "");
17901791
}
17911792

1793+
public TShowAppliedConfigurationsResp showAppliedConfigurations(int nodeId) {
1794+
if (ConfigNodeDescriptor.getInstance().getConf().getConfigNodeId() == nodeId) {
1795+
TShowAppliedConfigurationsResp resp = new TShowAppliedConfigurationsResp();
1796+
resp.setStatus(RpcUtils.SUCCESS_STATUS);
1797+
try {
1798+
resp.setData(ConfigurationFileUtils.getLastAppliedProperties());
1799+
} catch (Exception e) {
1800+
resp.setStatus(RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR, e.getMessage()));
1801+
}
1802+
return resp;
1803+
}
1804+
TSStatus status = confirmLeader();
1805+
return status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()
1806+
? nodeManager.showAppliedConfigurations(nodeId)
1807+
: new TShowAppliedConfigurationsResp(status, null);
1808+
}
1809+
17921810
@Override
17931811
public TSStatus setSystemStatus(String systemStatus) {
17941812
TSStatus status = confirmLeader();

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
2828
import org.apache.iotdb.common.rpc.thrift.TSetConfigurationReq;
2929
import org.apache.iotdb.common.rpc.thrift.TSetSpaceQuotaReq;
30+
import org.apache.iotdb.common.rpc.thrift.TShowAppliedConfigurationsResp;
3031
import org.apache.iotdb.common.rpc.thrift.TShowConfigurationResp;
3132
import org.apache.iotdb.commons.auth.entity.PrivilegeUnion;
3233
import org.apache.iotdb.commons.cluster.NodeStatus;
@@ -598,6 +599,9 @@ TDataPartitionTableResp getOrCreateDataPartition(
598599
/** Show content of configuration file on specified node */
599600
TShowConfigurationResp showConfiguration(int nodeId);
600601

602+
/** Show configuration on specified node by TsBlock */
603+
TShowAppliedConfigurationsResp showAppliedConfigurations(int nodeId);
604+
601605
/** Set system status on all DataNodes. */
602606
TSStatus setSystemStatus(String status);
603607

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
2828
import org.apache.iotdb.common.rpc.thrift.TSStatus;
2929
import org.apache.iotdb.common.rpc.thrift.TSetConfigurationReq;
30+
import org.apache.iotdb.common.rpc.thrift.TShowAppliedConfigurationsResp;
3031
import org.apache.iotdb.common.rpc.thrift.TShowConfigurationResp;
3132
import org.apache.iotdb.commons.cluster.NodeStatus;
3233
import org.apache.iotdb.commons.cluster.NodeType;
@@ -1124,6 +1125,39 @@ public TShowConfigurationResp showConfiguration(int nodeId) {
11241125
return resp;
11251126
}
11261127

1128+
public TShowAppliedConfigurationsResp showAppliedConfigurations(int nodeId) {
1129+
TShowAppliedConfigurationsResp resp = new TShowAppliedConfigurationsResp();
1130+
1131+
// data node
1132+
Map<Integer, TDataNodeLocation> dataNodeLocationMap =
1133+
configManager.getNodeManager().getRegisteredDataNodeLocations();
1134+
if (dataNodeLocationMap.containsKey(nodeId)) {
1135+
TDataNodeLocation dataNodeLocation = dataNodeLocationMap.get(nodeId);
1136+
return (TShowAppliedConfigurationsResp)
1137+
SyncDataNodeClientPool.getInstance()
1138+
.sendSyncRequestToDataNodeWithRetry(
1139+
dataNodeLocation.getInternalEndPoint(),
1140+
null,
1141+
CnToDnSyncRequestType.SHOW_APPLIED_CONFIGURATIONS);
1142+
}
1143+
1144+
// other config node
1145+
for (TConfigNodeLocation registeredConfigNode : getRegisteredConfigNodes()) {
1146+
if (registeredConfigNode.getConfigNodeId() != nodeId) {
1147+
continue;
1148+
}
1149+
resp =
1150+
(TShowAppliedConfigurationsResp)
1151+
SyncConfigNodeClientPool.getInstance()
1152+
.sendSyncRequestToConfigNodeWithRetry(
1153+
registeredConfigNode.getInternalEndPoint(),
1154+
nodeId,
1155+
CnToCnNodeRequestType.SHOW_APPLIED_CONFIGURATIONS);
1156+
return resp;
1157+
}
1158+
return resp;
1159+
}
1160+
11271161
public List<TSStatus> setSystemStatus(String status) {
11281162
Map<Integer, TDataNodeLocation> dataNodeLocationMap =
11291163
configManager.getNodeManager().getRegisteredDataNodeLocations();

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.apache.iotdb.common.rpc.thrift.TSetSpaceQuotaReq;
3131
import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
3232
import org.apache.iotdb.common.rpc.thrift.TSetThrottleQuotaReq;
33+
import org.apache.iotdb.common.rpc.thrift.TShowAppliedConfigurationsResp;
3334
import org.apache.iotdb.common.rpc.thrift.TShowConfigurationResp;
3435
import org.apache.iotdb.common.rpc.thrift.TShowTTLReq;
3536
import org.apache.iotdb.common.rpc.thrift.TTestConnectionResp;
@@ -989,6 +990,11 @@ public TShowConfigurationResp showConfiguration(int nodeId) throws TException {
989990
return configManager.showConfiguration(nodeId);
990991
}
991992

993+
@Override
994+
public TShowAppliedConfigurationsResp showAppliedConfigurations(int nodeId) throws TException {
995+
return configManager.showAppliedConfigurations(nodeId);
996+
}
997+
992998
@Override
993999
public TSStatus setSystemStatus(String status) {
9941000
return configManager.setSystemStatus(status);

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ public DataNodeMemoryConfig getMemoryConfig() {
182182
* @return url object if location exit, otherwise null.
183183
*/
184184
public static URL getPropsUrl(String configFileName) {
185-
String urlString = commonDescriptor.getConfDir();
185+
String urlString = "/Users/shuww/IdeaProjects/iotdb2/iotdb-core/datanode/src/test/resources";
186186
if (urlString == null) {
187187
// If urlString wasn't provided, try to find a default config in the root of the classpath.
188188
URL uri = IoTDBConfig.class.getResource("/" + configFileName);
@@ -1961,6 +1961,7 @@ private String[][] parseDataDirs(String dataDirs) {
19611961

19621962
public synchronized void loadHotModifiedProps(TrimProperties properties)
19631963
throws QueryProcessException {
1964+
ConfigurationFileUtils.updateLastAppliedProperties(properties);
19641965
try {
19651966
// update data dirs
19661967
String dataDirs = properties.getProperty("dn_data_dirs", null);

0 commit comments

Comments
 (0)