This is an automated email from the ASF dual-hosted git repository.
rong 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 b0501ae6eda Pipe IT: Avoid IoTDBPipeTypeConversionIT from creating too
many DataRegions and SchemaRegions (#13378)
b0501ae6eda is described below
commit b0501ae6eda7c5aa71e41a6a5584152670e705ae
Author: Zhenyu Luo <[email protected]>
AuthorDate: Mon Sep 2 16:30:50 2024 +0800
Pipe IT: Avoid IoTDBPipeTypeConversionIT from creating too many DataRegions
and SchemaRegions (#13378)
---
.../pipe/it/manual/IoTDBPipeTypeConversionIT.java | 48 ++++++++++------------
1 file changed, 22 insertions(+), 26 deletions(-)
diff --git
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/manual/IoTDBPipeTypeConversionIT.java
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/manual/IoTDBPipeTypeConversionIT.java
index e22a49ed279..aa2558b480d 100644
---
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/manual/IoTDBPipeTypeConversionIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/manual/IoTDBPipeTypeConversionIT.java
@@ -54,6 +54,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting BOOLEAN to OtherType
@Test
public void testBooleanToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.BOOLEAN, TSDataType.INT32);
executeAndVerifyTypeConversion(TSDataType.BOOLEAN, TSDataType.INT64);
executeAndVerifyTypeConversion(TSDataType.BOOLEAN, TSDataType.FLOAT);
@@ -68,6 +69,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting INT32 to OtherType
@Test
public void testInt32ToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.INT32, TSDataType.BOOLEAN);
executeAndVerifyTypeConversion(TSDataType.INT32, TSDataType.INT64);
executeAndVerifyTypeConversion(TSDataType.INT32, TSDataType.FLOAT);
@@ -82,6 +84,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting INT64 to OtherType
@Test
public void testInt64ToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.INT64, TSDataType.BOOLEAN);
executeAndVerifyTypeConversion(TSDataType.INT64, TSDataType.INT32);
executeAndVerifyTypeConversion(TSDataType.INT64, TSDataType.FLOAT);
@@ -96,6 +99,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting FLOAT to OtherType
@Test
public void testFloatToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.FLOAT, TSDataType.BOOLEAN);
executeAndVerifyTypeConversion(TSDataType.FLOAT, TSDataType.INT32);
executeAndVerifyTypeConversion(TSDataType.FLOAT, TSDataType.INT64);
@@ -110,6 +114,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting DOUBLE to OtherType
@Test
public void testDoubleToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.DOUBLE, TSDataType.BOOLEAN);
executeAndVerifyTypeConversion(TSDataType.DOUBLE, TSDataType.INT32);
executeAndVerifyTypeConversion(TSDataType.DOUBLE, TSDataType.INT64);
@@ -124,6 +129,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting TEXT to OtherType
@Test
public void testTextToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.TEXT, TSDataType.BLOB);
executeAndVerifyTypeConversion(TSDataType.TEXT, TSDataType.STRING);
executeAndVerifyTypeConversion(TSDataType.TEXT, TSDataType.BOOLEAN);
@@ -138,6 +144,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting TIMESTAMP to OtherType
@Test
public void testTimestampToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.TIMESTAMP, TSDataType.BOOLEAN);
executeAndVerifyTypeConversion(TSDataType.TIMESTAMP, TSDataType.INT32);
executeAndVerifyTypeConversion(TSDataType.TIMESTAMP, TSDataType.INT64);
@@ -152,6 +159,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting DATE to OtherType
@Test
public void testDateToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.DATE, TSDataType.BOOLEAN);
executeAndVerifyTypeConversion(TSDataType.DATE, TSDataType.INT32);
executeAndVerifyTypeConversion(TSDataType.DATE, TSDataType.INT64);
@@ -165,6 +173,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting BLOB to OtherType
@Test
public void testBlobToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.BLOB, TSDataType.TEXT);
executeAndVerifyTypeConversion(TSDataType.BLOB, TSDataType.STRING);
executeAndVerifyTypeConversion(TSDataType.BLOB, TSDataType.BOOLEAN);
@@ -179,6 +188,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
// Test for converting STRING to OtherType
@Test
public void testStringToOtherTypeConversion() {
+ createDataPipe();
executeAndVerifyTypeConversion(TSDataType.STRING, TSDataType.TEXT);
executeAndVerifyTypeConversion(TSDataType.STRING, TSDataType.BLOB);
executeAndVerifyTypeConversion(TSDataType.STRING, TSDataType.BOOLEAN);
@@ -193,8 +203,8 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
List<Pair> pairs = prepareTypeConversionTest(source, target);
TestUtils.assertDataEventuallyOnEnv(
receiverEnv,
- String.format("select * from root.%s2%s.**", source.name(),
target.name()),
- String.format("Time,root.%s2%s.test.status,", source.name(),
target.name()),
+ String.format("select status from root.test.%s2%s", source.name(),
target.name()),
+ String.format("Time,root.test.%s2%s.status,", source.name(),
target.name()),
createExpectedResultSet(pairs, source, target),
30);
}
@@ -206,17 +216,8 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
createTimeSeries(sourceTypeName, targetTypeName, sourceTypeName,
senderEnv);
createTimeSeries(sourceTypeName, targetTypeName, targetTypeName,
receiverEnv);
- createDataPipe(sourceTypeName, targetTypeName);
-
List<Pair> pairs = createTestDataForType(sourceTypeName);
- // wait pipe start
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
-
executeDataInsertions(pairs, sourceType, targetType);
return pairs;
}
@@ -225,25 +226,20 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
String sourceTypeName, String targetTypeName, String dataType, BaseEnv
env) {
String timeSeriesCreationQuery =
String.format(
- "create timeseries root.%s2%s.test.status with
datatype=%s,encoding=PLAIN",
+ "create timeseries root.test.%s2%s.status with
datatype=%s,encoding=PLAIN",
sourceTypeName, targetTypeName, dataType);
TestUtils.tryExecuteNonQueriesWithRetry(
env, Collections.singletonList(timeSeriesCreationQuery));
}
- private void createDataPipe(String sourceTypeName, String targetTypeName) {
+ private void createDataPipe() {
String sql =
String.format(
- "create pipe %s2%s"
- + " with source
('source'='iotdb-source','source.path'='root.%s2%s.**','realtime.mode'='forced-log','realtime.enable'='true','history.enable'='false')"
+ "create pipe test"
+ + " with source
('source'='iotdb-source','source.path'='root.test.**','realtime.mode'='forced-log','realtime.enable'='true','history.enable'='false')"
+ " with processor ('processor'='do-nothing-processor')"
+ " with sink
('node-urls'='%s:%s','batch.enable'='false','sink.format'='tablet')",
- sourceTypeName,
- targetTypeName,
- sourceTypeName,
- targetTypeName,
- receiverEnv.getIP(),
- receiverEnv.getPort());
+ receiverEnv.getIP(), receiverEnv.getPort());
TestUtils.tryExecuteNonQueriesWithRetry(senderEnv,
Collections.singletonList(sql));
}
@@ -311,7 +307,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
for (Pair pair : testData) {
executes.add(
String.format(
- "insert into root.%s2%s.test(timestamp,status) values
(%s,'%s');",
+ "insert into root.test.%s2%s(timestamp,status) values
(%s,'%s');",
sourceType,
targetType,
pair.left,
@@ -327,7 +323,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
for (Pair pair : testData) {
executes.add(
String.format(
- "insert into root.%s2%s.test(timestamp,status) values (%s,%s);",
+ "insert into root.test.%s2%s(timestamp,status) values (%s,%s);",
sourceType, targetType, pair.left, pair.right));
}
executes.add("flush");
@@ -340,7 +336,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
for (Pair pair : testData) {
executes.add(
String.format(
- "insert into root.%s2%s.test(timestamp,status) values (%s,%s);",
+ "insert into root.test.%s2%s(timestamp,status) values (%s,%s);",
sourceType, targetType, pair.left, pair.right));
}
executes.add("flush");
@@ -353,7 +349,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
for (Pair pair : testData) {
executes.add(
String.format(
- "insert into root.%s2%s.test(timestamp,status) values
(%s,'%s');",
+ "insert into root.test.%s2%s(timestamp,status) values
(%s,'%s');",
sourceType, targetType, pair.left,
DateUtils.formatDate((Integer) pair.right)));
}
executes.add("flush");
@@ -367,7 +363,7 @@ public class IoTDBPipeTypeConversionIT extends
AbstractPipeDualManualIT {
String value = BytesUtils.parseBlobByteArrayToString(((Binary)
pair.right).getValues());
executes.add(
String.format(
- "insert into root.%s2%s.test(timestamp,status) values
(%s,X'%s');",
+ "insert into root.test.%s2%s(timestamp,status) values
(%s,X'%s');",
sourceType, targetType, pair.left, value.substring(2)));
}
executes.add("flush");