You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by yu...@apache.org on 2020/06/28 15:45:53 UTC
[incubator-iotdb] branch kyy updated: auto create
This is an automated email from the ASF dual-hosted git repository.
yuyuankang pushed a commit to branch kyy
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/kyy by this push:
new 34e20a1 auto create
34e20a1 is described below
commit 34e20a1dbdcd5314c03739946b7b2c2dba3edf3c
Author: Ring-k <yu...@hotmail.com>
AuthorDate: Sun Jun 28 23:45:23 2020 +0800
auto create
---
.../cluster/server/member/MetaGroupMember.java | 28 ++++++++++++++--------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
index 0fb8c76..55cb07d 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
@@ -1558,10 +1558,15 @@ public class MetaGroupMember extends RaftMember implements TSMetaService.AsyncIf
}
// the storage group is not found locally
if (planGroupMap == null || planGroupMap.isEmpty()) {
- if (plan instanceof InsertPlan && ClusterDescriptor.getInstance().getConfig()
- .isEnableAutoCreateSchema()) {
+ if ((plan instanceof InsertPlan || plan instanceof CreateTimeSeriesPlan)
+ && ClusterDescriptor.getInstance().getConfig().isEnableAutoCreateSchema()) {
// try to set storage group
- String deviceId = ((InsertPlan) plan).getDeviceId();
+ String deviceId;
+ if(plan instanceof InsertPlan){
+ deviceId = ((InsertPlan) plan).getDeviceId();
+ }else{
+ deviceId = ((CreateTimeSeriesPlan)plan).getPath().toString();
+ }
try {
String storageGroupName = MetaUtils
.getStorageGroupNameByLevel(deviceId, IoTDBDescriptor.getInstance()
@@ -1577,16 +1582,19 @@ public class MetaGroupMember extends RaftMember implements TSMetaService.AsyncIf
setStorageGroupResult.getCode(), storageGroupName)
);
}
- // try to create timeseries
- boolean isAutoCreateTimeseriesSuccess = autoCreateTimeseries((InsertPlan) plan);
- if (!isAutoCreateTimeseriesSuccess) {
- throw new MetadataException(
- String.format("Failed to create timeseries from InsertPlan automatically.")
- );
+ if(plan instanceof InsertPlan){
+ // try to create timeseries
+ boolean isAutoCreateTimeseriesSuccess = autoCreateTimeseries((InsertPlan) plan);
+ if (!isAutoCreateTimeseriesSuccess) {
+ throw new MetadataException(
+ String.format("Failed to create timeseries from InsertPlan automatically.")
+ );
+ }
}
return executeNonQuery(plan);
} catch (MetadataException e) {
- logger.error(String.format("Failed to set storage group or create timeseries, because %s", e));
+ logger.error(
+ String.format("Failed to set storage group or create timeseries, because %s", e));
}
}
logger.error("{}: Cannot found storage groups for {}", name, plan);