You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2021/07/22 04:31:07 UTC
[iotdb] branch check_lost_data_ty updated: Fix bug
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch check_lost_data_ty
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/check_lost_data_ty by this push:
new 76ecb64 Fix bug
76ecb64 is described below
commit 76ecb64e084a7298f4c87ec2040fd2eb840bb8ec
Author: HTHou <hh...@outlook.com>
AuthorDate: Thu Jul 22 12:30:28 2021 +0800
Fix bug
---
.../main/java/org/apache/iotdb/SessionExample.java | 87 ++++++++++++----------
.../physical/crud/InsertRowsOfOneDevicePlan.java | 2 +-
.../apache/iotdb/session/IoTDBSessionSimpleIT.java | 33 ++------
3 files changed, 54 insertions(+), 68 deletions(-)
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionExample.java b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
index 386b4e4..cca1863 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
@@ -51,48 +51,57 @@ public class SessionExample {
public static void main(String[] args)
throws IoTDBConnectionException, StatementExecutionException {
- session = new Session(LOCAL_HOST, 6667, "root", "root");
- session.open(false);
-
- // set session fetchSize
- session.setFetchSize(10000);
-
- try {
- session.setStorageGroup("root.sg1");
- } catch (StatementExecutionException e) {
- if (e.getStatusCode() != TSStatusCode.PATH_ALREADY_EXIST_ERROR.getStatusCode()) {
- throw e;
- }
- }
-
- createTimeseries();
- createMultiTimeseries();
- insertRecord();
- insertTablet();
- insertTablets();
- insertRecords();
- nonQuery();
- query();
- queryWithTimeout();
- rawDataQuery();
- queryByIterator();
- deleteData();
- deleteTimeseries();
- setTimeout();
-
- sessionEnableRedirect = new Session(LOCAL_HOST, 6667, "root", "root");
- sessionEnableRedirect.setEnableQueryRedirection(true);
- sessionEnableRedirect.open(false);
-
- // set session fetchSize
- sessionEnableRedirect.setFetchSize(10000);
-
- insertRecord4Redirect();
- query4Redirect();
- sessionEnableRedirect.close();
+ session = new Session("127.0.0.1", 6667, "root", "root");
+ session.open();
+ List<Long> times = new ArrayList<>();
+ List<List<String>> measurements = new ArrayList<>();
+ List<List<TSDataType>> datatypes = new ArrayList<>();
+ List<List<Object>> values = new ArrayList<>();
+
+ String value = "{\"iMEI\":\"861394053542937\",\"packetData\":\"7E0F861394053542937FD41076134000150603102B070C9B94087084EFDF0825FFFE1F200F3006EE0ED02C70858FDD3F25201C0010F06F6008B203B23E041100004019A40C7405255006A4629804980334163A0ED068283840D3C1FD004D88EB0334257E0FD0A4383D40D302F2004D0CBC033433547F801E004441640E4116435DF0C2681EAC2FA50B14057980AA0176802607D2019A1E31076882681CA029327080E648CE63DAA1A8356954FA1C1F95AEC721593F40C364FA000D94DD033454460FD060593C40A325FB316D70D49AF4397D8E7F4 [...]
+ addLine(
+ times,
+ measurements,
+ datatypes,
+ values,
+ 3L,
+ "TY_0001_Raw_Packet",
+ "s2",
+ TSDataType.TEXT,
+ TSDataType.INT32,
+ value,
+ 2);
+ session.insertRecordsOfOneDevice("root.raw.08.8000867157042199208", times, measurements, datatypes, values);
session.close();
}
+ private static void addLine(
+ List<Long> times,
+ List<List<String>> measurements,
+ List<List<TSDataType>> datatypes,
+ List<List<Object>> values,
+ long time,
+ String s1,
+ String s2,
+ TSDataType s1type,
+ TSDataType s2type,
+ Object value1,
+ Object value2) {
+ List<String> tmpMeasurements = new ArrayList<>();
+ List<TSDataType> tmpDataTypes = new ArrayList<>();
+ List<Object> tmpValues = new ArrayList<>();
+ tmpMeasurements.add(s1);
+ tmpMeasurements.add(s2);
+ tmpDataTypes.add(s1type);
+ tmpDataTypes.add(s2type);
+ tmpValues.add(value1);
+ tmpValues.add(value2);
+ times.add(time);
+ measurements.add(tmpMeasurements);
+ datatypes.add(tmpDataTypes);
+ values.add(tmpValues);
+ }
+
private static void createTimeseries()
throws IoTDBConnectionException, StatementExecutionException {
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsOfOneDevicePlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsOfOneDevicePlan.java
index 16a6dc4..46da4e0 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsOfOneDevicePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsOfOneDevicePlan.java
@@ -71,7 +71,7 @@ public class InsertRowsOfOneDevicePlan extends InsertPlan implements BatchPlan {
for(int j = 0; j < rowPlans[i].getMeasurements().length; j ++) {
if (rowPlans[i].getMeasurements()[j].equals("TY_0001_Raw_Packet")) {
String value = ((Binary) rowPlans[i].getValues()[j]).getStringValue().substring(0,100);
- if (value.contains(rowPlans[i].getDeviceId().getTailNode().substring(4))) {
+ if (!value.contains(rowPlans[i].getDeviceId().getMeasurement().substring(4))) {
logger.error("receive error data,device:{}, value(first 100 bytes): {}", rowPlans[i].getDeviceId(), value);
}
}
diff --git a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
index a458a89..fe3dc37 100644
--- a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
+++ b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
@@ -450,43 +450,20 @@ public class IoTDBSessionSimpleIT {
List<List<TSDataType>> datatypes = new ArrayList<>();
List<List<Object>> values = new ArrayList<>();
+ String value = "{\"iMEI\":\"861394053542937\",\"packetData\":\"7E0F861394053542937FD41076134000150603102B070C9B94087084EFDF0825FFFE1F200F3006EE0ED02C70858FDD3F25201C0010F06F6008B203B23E041100004019A40C7405255006A4629804980334163A0ED068283840D3C1FD004D88EB0334257E0FD0A4383D40D302F2004D0CBC033433547F801E004441640E4116435DF0C2681EAC2FA50B14057980AA0176802607D2019A1E31076882681CA029327080E648CE63DAA1A8356954FA1C1F95AEC721593F40C364FA000D94DD033454460FD060593C40A325FB316D70D49AF4397D8E7F4 [...]
addLine(
times,
measurements,
datatypes,
values,
3L,
- "s1",
+ "TY_0001_Raw_Packet",
"s2",
+ TSDataType.TEXT,
TSDataType.INT32,
- TSDataType.INT32,
- 1,
+ value,
2);
- addLine(
- times,
- measurements,
- datatypes,
- values,
- 2L,
- "s2",
- "s3",
- TSDataType.INT32,
- TSDataType.INT64,
- 3,
- 4L);
- addLine(
- times,
- measurements,
- datatypes,
- values,
- 1L,
- "s4",
- "s5",
- TSDataType.FLOAT,
- TSDataType.BOOLEAN,
- 5.0f,
- Boolean.TRUE);
- session.insertRecordsOfOneDevice("root.sg.d1", times, measurements, datatypes, values);
+ session.insertRecordsOfOneDevice("root.raw.08.8000867157042199208", times, measurements, datatypes, values);
checkResult(session);
session.close();
}