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/incubator-iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new fb9ef99 remove synchronized and trim (#1309)
fb9ef99 is described below
commit fb9ef99cb783722134aee5070df2e754655b1282
Author: Jialin Qiao <[email protected]>
AuthorDate: Thu Jun 4 09:56:23 2020 +0800
remove synchronized and trim (#1309)
---
.../db/engine/storagegroup/StorageGroupProcessor.java | 8 ++++----
.../main/java/org/apache/iotdb/db/metadata/MManager.java | 15 +++++++++++++++
.../org/apache/iotdb/db/metadata/mnode/InternalMNode.java | 4 ++--
.../org/apache/iotdb/db/qp/executor/PlanExecutor.java | 9 +++++----
.../org/apache/iotdb/db/qp/physical/crud/InsertPlan.java | 2 +-
.../iotdb/db/qp/physical/crud/InsertTabletPlan.java | 6 +++---
.../java/org/apache/iotdb/db/service/TSServiceImpl.java | 6 ++----
.../java/org/apache/iotdb/session/IoTDBSessionIT.java | 9 +++++----
.../java/org/apache/iotdb/tsfile/read/common/Path.java | 3 +--
9 files changed, 38 insertions(+), 24 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index dabc095..18bd93c 100755
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -759,7 +759,7 @@ public class StorageGroupProcessor {
}
}
- public void tryToUpdateBatchInsertLastCache(InsertTabletPlan plan, Long
latestFlushedTime)
+ private void tryToUpdateBatchInsertLastCache(InsertTabletPlan plan, Long
latestFlushedTime)
throws WriteProcessException {
MNode node = null;
try {
@@ -768,7 +768,7 @@ public class StorageGroupProcessor {
String[] measurementList = plan.getMeasurements();
for (int i = 0; i < measurementList.length; i++) {
// Update cached last value with high priority
- ((LeafMNode) node.getChild(measurementList[i]))
+ ((LeafMNode) MManager.getChild(node, measurementList[i]))
.updateCachedLast(plan.composeLastTimeValuePair(i), true,
latestFlushedTime);
}
} catch (MetadataException e) {
@@ -811,7 +811,7 @@ public class StorageGroupProcessor {
}
}
- public void tryToUpdateInsertLastCache(InsertPlan plan, Long
latestFlushedTime)
+ private void tryToUpdateInsertLastCache(InsertPlan plan, Long
latestFlushedTime)
throws WriteProcessException {
MNode node = null;
try {
@@ -823,7 +823,7 @@ public class StorageGroupProcessor {
continue;
}
// Update cached last value with high priority
- ((LeafMNode) node.getChild(measurementList[i]))
+ ((LeafMNode) MManager.getChild(node, measurementList[i]))
.updateCachedLast(plan.composeTimeValuePair(i), true,
latestFlushedTime);
}
} catch (MetadataException e) {
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
index 0c48fe5..8bfd480 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
@@ -938,6 +938,21 @@ public class MManager {
path, config.isAutoCreateSchemaEnabled(),
config.getDefaultStorageGroupLevel());
}
+ public static MNode getChild(MNode parent, String child) {
+ MNode childNode = parent.getChild(child);
+ int tempCount = 0;
+ while (childNode == null) {
+ tempCount ++;
+ if (tempCount % 10000 == 0) {
+ throw new RuntimeException(
+ String
+ .format("can not get child [%s] from parent [%s]", child,
parent.getName()));
+ }
+ childNode = parent.getChild(child);
+ }
+ return childNode;
+ }
+
/**
* Get metadata in string
*/
diff --git
a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
index 67c2537..2dc48b6 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
@@ -49,7 +49,7 @@ public class InternalMNode extends MNode {
}
@Override
- public synchronized void addChild(String name, MNode child) {
+ public void addChild(String name, MNode child) {
children.put(name, child);
}
@@ -89,7 +89,7 @@ public class InternalMNode extends MNode {
}
@Override
- public synchronized MNode getChild(String name) {
+ public MNode getChild(String name) {
return children.containsKey(name) ? children.get(name) :
aliasChildren.get(name);
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index 2358311..5d6a268 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -875,7 +875,7 @@ public class PlanExecutor implements IPlanExecutor {
MeasurementSchema[] schemas = new
MeasurementSchema[measurementList.length];
for (int i = 0; i < measurementList.length; i++) {
- String measurement = measurementList[i].trim();
+ String measurement = measurementList[i];
try {
if (!node.hasChild(measurement)) {
if
(!IoTDBDescriptor.getInstance().getConfig().isAutoCreateSchemaEnabled()) {
@@ -886,7 +886,7 @@ public class PlanExecutor implements IPlanExecutor {
Path path = new Path(deviceId, measurement);
internalCreateTimeseries(path.toString(), dataType);
}
- LeafMNode measurementNode = (LeafMNode) node.getChild(measurement);
+ LeafMNode measurementNode = (LeafMNode) MManager.getChild(node,
measurement);
schemas[i] = measurementNode.getSchema();
// reset measurement to common name instead of alias
@@ -1020,7 +1020,7 @@ public class PlanExecutor implements IPlanExecutor {
String measurement;
for (int i = 0; i < measurementList.length; i++) {
- measurement = measurementList[i].trim();
+ measurement = measurementList[i];
// check if timeseries exists
if (!node.hasChild(measurement)) {
if (!conf.isAutoCreateSchemaEnabled()) {
@@ -1030,8 +1030,9 @@ public class PlanExecutor implements IPlanExecutor {
Path path = new Path(deviceId, measurement);
TSDataType dataType = dataTypes[i];
internalCreateTimeseries(path.getFullPath(), dataType);
+
}
- LeafMNode measurementNode = (LeafMNode) node.getChild(measurement);
+ LeafMNode measurementNode = (LeafMNode) MManager.getChild(node,
measurement);
// check data type
if (measurementNode.getSchema().getType() !=
insertTabletPlan.getDataTypes()[i]) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
index 119cc53..5bb84b3 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
@@ -225,7 +225,7 @@ public class InsertPlan extends PhysicalPlan {
}
public void setDeviceId(String deviceId) {
- this.deviceId = deviceId.trim();
+ this.deviceId = deviceId;
}
public String[] getMeasurements() {
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
index 20ab59b..4fcd813 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
@@ -73,18 +73,18 @@ public class InsertTabletPlan extends PhysicalPlan {
public InsertTabletPlan(String deviceId, List<String> measurements) {
super(false, OperatorType.BATCHINSERT);
- this.deviceId = deviceId.trim();
+ this.deviceId = deviceId;
setMeasurements(measurements);
}
public InsertTabletPlan(String deviceId, String[] measurements) {
super(false, OperatorType.BATCHINSERT);
- this.deviceId = deviceId.trim();
+ this.deviceId = deviceId;
setMeasurements(measurements);
}
public InsertTabletPlan(String deviceId, String[] measurements,
List<Integer> dataTypes) {
super(false, OperatorType.BATCHINSERT);
- this.deviceId = deviceId.trim();
+ this.deviceId = deviceId;
this.measurements = measurements;
setDataTypes(dataTypes);
}
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 93d6770..2e5412f 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
@@ -1210,7 +1210,7 @@ public class TSServiceImpl implements TSIService.Iface,
ServerContext {
return
RpcUtils.getTSBatchExecuteStatementResp(Arrays.asList(tsStatusArray));
}
} catch (Exception e) {
- logger.info("{}: error occurs when executing statements",
IoTDBConstant.GLOBAL_DB_NAME, e);
+ logger.error("{}: error occurs when executing statements",
IoTDBConstant.GLOBAL_DB_NAME, e);
return RpcUtils
.getTSBatchExecuteStatementResp(TSStatusCode.EXECUTE_STATEMENT_ERROR,
e.getMessage());
} finally {
@@ -1265,7 +1265,7 @@ public class TSServiceImpl implements TSIService.Iface,
ServerContext {
}
return RpcUtils.getTSBatchExecuteStatementResp(statusList);
} catch (Exception e) {
- logger.info("{}: error occurs when insertTablets",
IoTDBConstant.GLOBAL_DB_NAME, e);
+ logger.error("{}: error occurs when insertTablets",
IoTDBConstant.GLOBAL_DB_NAME, e);
return RpcUtils
.getTSBatchExecuteStatementResp(TSStatusCode.EXECUTE_STATEMENT_ERROR,
e.getMessage());
} finally {
@@ -1331,7 +1331,6 @@ public class TSServiceImpl implements TSIService.Iface,
ServerContext {
if (status != null) {
return status;
}
- logger.info("createTimeseries {}", req.getPath());
return executePlan(plan);
}
@@ -1341,7 +1340,6 @@ public class TSServiceImpl implements TSIService.Iface,
ServerContext {
logger.info(INFO_NOT_LOGIN, IoTDBConstant.GLOBAL_DB_NAME);
return
RpcUtils.getTSBatchExecuteStatementResp(TSStatusCode.NOT_LOGIN_ERROR);
}
- logger.info("createMultiTimeseries, first is {}", req.getPaths().get(0));
List<TSStatus> statusList = new ArrayList<>(req.paths.size());
for (int i = 0; i < req.paths.size(); i++) {
CreateTimeSeriesPlan plan = new CreateTimeSeriesPlan(new
Path(req.getPaths().get(i)),
diff --git a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java
b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java
index 9aa0e67..bc66859 100644
--- a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java
+++ b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionIT.java
@@ -114,18 +114,19 @@ public class IoTDBSessionIT {
String deviceId = "root.sg1.d1";
List<String> measurements = new ArrayList<>();
- measurements.add("s1 ");
+ measurements.add("s1 ");
List<String> values = new ArrayList<>();
values.add("1.0");
session.insertRecord(deviceId, 1L, measurements, values);
- String[] expected = new String[]{"1\t1.0"};
+ String[] expected = new String[]{"root.sg1.d1.s1 "};
- SessionDataSet dataSet = session.executeQueryStatement("select s1 from
root.sg1.d1");
+ assertFalse(session.checkTimeseriesExists("root.sg1.d1.s1 "));
+ SessionDataSet dataSet = session.executeQueryStatement("show timeseries");
int i = 0;
while (dataSet.hasNext()) {
- assertEquals(expected[i], dataSet.next().toString());
+ assertEquals(expected[i], dataSet.next().getFields().get(0).toString());
i++;
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java
index 709bd36..c7f74dd 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java
@@ -82,7 +82,6 @@ public class Path implements Serializable, Comparable<Path> {
* @param pathSc complete path string
*/
private void init(String pathSc) {
- pathSc = pathSc.trim();
int i = 0;
int j = 0;
for (char c : pathSc.toCharArray()) {
@@ -107,7 +106,7 @@ public class Path implements Serializable, Comparable<Path>
{
subStrs = pathSc.split("\'");
}
device = subStrs[0];
- if (!device.trim().equals("")) {
+ if (!device.equals("")) {
device = device.substring(0, subStrs[0].length() - 1);
}
measurement = subStrs[1];