[jira] [Created] (IOTDB-3923) Add Sorted Cluster Test ResultSet for the Function of last

2022-07-21 Thread Irvine (Jira)
Irvine created IOTDB-3923:
-

 Summary: Add Sorted Cluster Test ResultSet for the Function of last
 Key: IOTDB-3923
 URL: https://issues.apache.org/jira/browse/IOTDB-3923
 Project: Apache IoTDB
  Issue Type: New Feature
Reporter: Irvine
Assignee: Irvine






--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IOTDB-3647) Move the IoTDBTimeZoneIT to integration-test

2022-06-24 Thread Irvine (Jira)
Irvine created IOTDB-3647:
-

 Summary: Move the IoTDBTimeZoneIT to integration-test
 Key: IOTDB-3647
 URL: https://issues.apache.org/jira/browse/IOTDB-3647
 Project: Apache IoTDB
  Issue Type: Improvement
Reporter: Irvine
Assignee: Irvine






--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (IOTDB-3604) Refactor the time zone setter by using the setClientInfo method of JDBC

2022-06-22 Thread Irvine (Jira)
Irvine created IOTDB-3604:
-

 Summary: Refactor the time zone setter by using the setClientInfo 
method of JDBC
 Key: IOTDB-3604
 URL: https://issues.apache.org/jira/browse/IOTDB-3604
 Project: Apache IoTDB
  Issue Type: Improvement
Reporter: Irvine
Assignee: Irvine






--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Assigned] (IOTDB-3508) Enhance some features of the IT framework

2022-06-15 Thread Irvine (Jira)


 [ 
https://issues.apache.org/jira/browse/IOTDB-3508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Irvine reassigned IOTDB-3508:
-

Assignee: Irvine

> Enhance some features of the IT framework
> -
>
> Key: IOTDB-3508
> URL: https://issues.apache.org/jira/browse/IOTDB-3508
> Project: Apache IoTDB
>  Issue Type: Improvement
>Reporter: Irvine
>Assignee: Irvine
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (IOTDB-3508) Enhance some features of the IT framework

2022-06-15 Thread Irvine (Jira)
Irvine created IOTDB-3508:
-

 Summary: Enhance some features of the IT framework
 Key: IOTDB-3508
 URL: https://issues.apache.org/jira/browse/IOTDB-3508
 Project: Apache IoTDB
  Issue Type: Improvement
Reporter: Irvine






--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (IOTDB-3426) The tasks set about integration test framework refactor for MPP

2022-06-08 Thread Irvine (Jira)
Irvine created IOTDB-3426:
-

 Summary: The tasks set about integration test framework refactor 
for MPP
 Key: IOTDB-3426
 URL: https://issues.apache.org/jira/browse/IOTDB-3426
 Project: Apache IoTDB
  Issue Type: Task
Reporter: Irvine
Assignee: Irvine






--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (IOTDB-3406) Correct the exclude part of xml format plugin

2022-06-06 Thread Irvine (Jira)
Irvine created IOTDB-3406:
-

 Summary: Correct the exclude part of xml format plugin
 Key: IOTDB-3406
 URL: https://issues.apache.org/jira/browse/IOTDB-3406
 Project: Apache IoTDB
  Issue Type: Bug
Reporter: Irvine
Assignee: Irvine






--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Assigned] (IOTDB-3178) Refactor integration test for the new cluster

2022-05-13 Thread Irvine (Jira)


 [ 
https://issues.apache.org/jira/browse/IOTDB-3178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Irvine reassigned IOTDB-3178:
-

Assignee: Irvine

> Refactor integration test for the new cluster
> -
>
> Key: IOTDB-3178
> URL: https://issues.apache.org/jira/browse/IOTDB-3178
> Project: Apache IoTDB
>  Issue Type: Improvement
>Reporter: Irvine
>Assignee: Irvine
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (IOTDB-3178) Refactor integration test for the new cluster

2022-05-13 Thread Irvine (Jira)
Irvine created IOTDB-3178:
-

 Summary: Refactor integration test for the new cluster
 Key: IOTDB-3178
 URL: https://issues.apache.org/jira/browse/IOTDB-3178
 Project: Apache IoTDB
  Issue Type: Improvement
Reporter: Irvine






--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Created] (IOTDB-2172) Refactor for IoTDBSimpleQueryIT

2021-12-16 Thread Irvine (Jira)
Irvine created IOTDB-2172:
-

 Summary: Refactor for IoTDBSimpleQueryIT
 Key: IOTDB-2172
 URL: https://issues.apache.org/jira/browse/IOTDB-2172
 Project: Apache IoTDB
  Issue Type: Improvement
Reporter: Irvine
Assignee: Irvine


Since the configuration change needs to be done before the cluster is started, 
for better cluster testing, a separate test case file is split.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IOTDB-1559) Refactor the IT framework

2021-11-30 Thread Irvine (Jira)


[ 
https://issues.apache.org/jira/browse/IOTDB-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1745#comment-1745
 ] 

Irvine commented on IOTDB-1559:
---

As catching up with the master branch is continuous and massive, all refactor 
work can be split into two temporary phases.

Phase 1,
 * This PR should be reviewed.
 * All tests should be annotated with the LocalStandaloneTest category.
 * All these LocalStandaloneTest should be passed.
 * No-brain tutorials should be done.

The milestone of phase 1 is the PR of [GitHub Pull Request 
#4371|https://github.com/apache/iotdb/pull/4371] is merged.

Phase 2,
 * All tests should be appropriately annotated with the ClusterTest category.
 * All these ClusterTest should be passed.
 * New IT should be followed by No-brain tutorials.

The milestone of phase 2 is all ITs are passed.

The above is already mentioned in the #integration-test channel of slack in 
Chinese. I will sync the progress in slack.

> Refactor the IT framework
> -
>
> Key: IOTDB-1559
> URL: https://issues.apache.org/jira/browse/IOTDB-1559
> Project: Apache IoTDB
>  Issue Type: Improvement
>Reporter: Irvine
>Assignee: Irvine
>Priority: Major
>  Labels: pull-request-available
> Fix For: master branch
>
>
> - Background
> Today iotdb has many IT cases, some are in the server module, some are in the 
> cluster module, and some cluster test cases are in the testcontainer module.
> The test case structure causes developers to sometimes write test cases 
> repeatedly to ensure running correctly of the single-node mode and the 
> cluster mode.
>  - Suggestion
> At present, the test cases of single-node mode and cluster mode are 
> separated, but they have intersections, and they can be classified for reuse 
> by using JUnit's category annotation.
> In the testcontainer module, test cases are based on the test environment, 
> but the test environment is relatively fixed, we can use maven to configure 
> multiple environments to test the classified test cases.
>  - User Guide
> [https://github.com/apache/iotdb/blob/master/integration/README.md]
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IOTDB-1559) Thoughts on reusing the IT cases

2021-08-12 Thread Irvine (Jira)


[ 
https://issues.apache.org/jira/browse/IOTDB-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17397930#comment-17397930
 ] 

Irvine commented on IOTDB-1559:
---

It's my fault that didn't make it clear.

> What is the difference between different execution configurations in the pom 
> file? 

In this example, the difference is in section systemPropertyVariables. We set 
FiveNodeCluster1 in execution 
"integration-test-FiveNodeCluster1IT", and we set 
FiveNodeCluster2 in execution 
"integration-test-FiveNodeCluster2IT". By passed to Java code, there will be 
different test environments for each execution.

We can also set other sections for every execution, each execution 
configuration is independent, they will run one by one in the maven's 
integration phase. 
For example, we can run test cases of SingleNodeTest's category in OneNodeEnv 
and then run test cases of ClusterTest's category in ThreeNodeClusterEnv and 
then run test cases of ClusterTest's category in FiveNodeClusterEnv.

> Though it is just an example, but what can we benefit from two executions 
> "integration-test-FiveNodeCluster1IT" and 
> "integration-test-FiveNodeCluster2IT" ?

I think the benefit is decoupling and reusing.  Now in the testcontainer 
module,  every environment IT all inherit from the base cases class, but java 
does not support multiple inheritances, so the base cases class will be only 
one, and the IT case from the server module can't be reused in the 
testcontainer environment. With maven execution and category annotation, we can 
decouple the environment from IT cases. We can write IT cases in several 
modules, and we can write environment classes based on the TestEnv interface. 
Finally, IT cases and environment classes are connected by maven.



> Thoughts on reusing the IT cases
> 
>
> Key: IOTDB-1559
> URL: https://issues.apache.org/jira/browse/IOTDB-1559
> Project: Apache IoTDB
>  Issue Type: Improvement
>Reporter: Irvine
>Assignee: Irvine
>Priority: Major
>
> - Background
> Today iotdb has many IT cases, some are in the server module, some are in the 
> cluster module, and some cluster test cases are in the testcontainer module.
> The test case structure causes developers to sometimes write test cases 
> repeatedly to ensure running correctly of the single-node mode and the 
> cluster mode.
>  - Suggestion
> At present, the test cases of single-node mode and cluster mode are 
> separated, but they have intersections, and they can be classified for reuse 
> by using JUnit's category annotation.
> In the testcontainer module, test cases are based on the test environment, 
> but the test environment is relatively fixed, we can use maven to configure 
> multiple environments to test the classified test cases.
>  - Example
>  * The pom.xml of testcontainer module
> {code:xml}
> 
> org.apache.maven.plugins
> maven-failsafe-plugin
> 
> 
> integration-test-FiveNodeCluster1IT
> 
> integration-test
> 
> 
> 
> ${basedir}/src/test/java
> 
> ${basedir}/../server/src/test/java/org/apache/iotdb/db/integration
> ${test.includedGroups}
> ${test.excludedGroups}
> false
> 1
> 1
> false
> 
> FiveNodeCluster1
> 
> 
> target/failsafe-reports/failsafe-summary-FiveNodeCluster1IT.xml
> 
> 
> 
> integration-test-FiveNodeCluster2IT
> 
> integration-test
> 
> 
> 
> ${basedir}/src/test/java
> 
> ${basedir}/../server/src/test/java/org/apache/iotdb/db/integration
> ${test.includedGroups}
> ${test.excludedGroups}
> false
> 1
> 1
> false
> 
> FiveNodeCluster2
> 
> 
> target/failsafe-reports/failsafe-summary-FiveNodeCluster2IT.xml
> 
> 
> 
> verify
> 
> verify
> 
> 
> 
> 
> target/failsafe-reports/failsafe-summary-FiveNodeCluster1IT.xml
> 
> target/failsafe-reports/failsafe-summary-FiveNodeCluster2IT.xml
> 
> 
> 
> 
> 
> {code}
> We configure multiple environments by section 
> {color:#0747a6}{color}, it will like:
>  {color:#0747a6}{color}
>  {color:#0747a6}  ...the first env...{color}
>  {color:#0747a6}  ...the second env...{color}
>  {color:#0747a6} {color} 
>  It can run multiple environments in one "mvn 

[jira] [Created] (IOTDB-1559) Thoughts on reusing the IT cases

2021-08-11 Thread Irvine (Jira)
Irvine created IOTDB-1559:
-

 Summary: Thoughts on reusing the IT cases
 Key: IOTDB-1559
 URL: https://issues.apache.org/jira/browse/IOTDB-1559
 Project: Apache IoTDB
  Issue Type: Improvement
Reporter: Irvine
Assignee: Irvine


h1. Thoughts on reusing the IT cases
 - Background

Today iotdb has many IT cases, some are in the server module, some are in the 
cluster module, and some cluster test cases are in the testcontainer module.

The test case structure causes developers to sometimes write test cases 
repeatedly to ensure running correctly of the single-node mode and the cluster 
mode.
 - Suggestion

At present, the test cases of single-node mode and cluster mode are separated, 
but they have intersections, and they can be classified for reuse by using 
JUnit's category annotation.

In the testcontainer module, test cases are based on the test environment, but 
the test environment is relatively fixed, we can use maven to configure 
multiple environments to test the classified test cases.
 - Example

 * The pom.xml of testcontainer module

{code:xml}

org.apache.maven.plugins
maven-failsafe-plugin


integration-test-FiveNodeCluster1IT

integration-test



${basedir}/src/test/java

${basedir}/../server/src/test/java/org/apache/iotdb/db/integration
${test.includedGroups}
${test.excludedGroups}
false
1
1
false

FiveNodeCluster1


target/failsafe-reports/failsafe-summary-FiveNodeCluster1IT.xml



integration-test-FiveNodeCluster2IT

integration-test



${basedir}/src/test/java

${basedir}/../server/src/test/java/org/apache/iotdb/db/integration
${test.includedGroups}
${test.excludedGroups}
false
1
1
false

FiveNodeCluster2


target/failsafe-reports/failsafe-summary-FiveNodeCluster2IT.xml



verify

verify




target/failsafe-reports/failsafe-summary-FiveNodeCluster1IT.xml

target/failsafe-reports/failsafe-summary-FiveNodeCluster2IT.xml





{code}
We configure multiple environments by section 
{color:#0747a6}{color}, it will like:
 {color:#0747a6}{color}
 {color:#0747a6}  ...the first env...{color}
 {color:#0747a6}  ...the second env...{color}
 {color:#0747a6} {color} 
 It can run multiple environments in one "mvn verify" cmd.

In each execution, we configure {color:#0747a6}{color} for 
the dir of IT case which can from different modules, 
 {color:#0747a6}{color} for the category of IT case that can invoke the 
IT case with JUnit's category annotation, 
 and {color:#0747a6}{color} to pass parameters, which 
can get by java code, to choose the init environment class.
 * IT case example

{code:java}
public class TestCategoryIT {

  private static String[] sqls =
  new String[] {
"CREATE TIMESERIES root.sg1.d1.s1 with datatype=INT32,encoding=RLE",
"CREATE TIMESERIES root.sg1.d1.s1.s1 with datatype=INT32,encoding=RLE",
"CREATE TIMESERIES root.sg1.d1.s1.s2 with datatype=INT32,encoding=RLE"
  };

  @BeforeClass
  public static void setUp() throws Exception {
ExampleEnvUtil.init();
insertData();
  }

  @AfterClass
  public static void tearDown() throws Exception {
ExampleEnvUtil.clean();
  }

  private static void insertData() {

try (Connection connection = ExampleEnvUtil.getConnection();
Statement statement = connection.createStatement()) {

  for (String sql : sqls) {
statement.execute(sql);
  }
} catch (Exception e) {
  e.printStackTrace();
}
  }

  @Test
  @Category({SingleNodeTest.class, ClusterTest.class})
  public void test1() throws ClassNotFoundException {
try (Connection connection = ExampleEnvUtil.getConnection();
Statement statement = connection.createStatement()) {
  ...
} catch (Exception e) {
  e.printStackTrace();
}
...
  }

  @Test
  @Category(SingleNodeTest.class)
  public void test2() throws ClassNotFoundException {
...
  }

  @Test
  @Category(ClusterTest.class)
  public void test3() throws ClassNotFoundException {
...
  }
}
{code}
All we change is:
 to add Category annotation for test or class, 
 to change the connection of every case to assign by 
ExampleEnvUtil.getConnection(), which depend on parameters passed b

[jira] [Commented] (IOTDB-1351) Add TestBase for teat container, i.e. Reduce the duplicate code. such as testSimplePutAndGet

2021-05-01 Thread Irvine (Jira)


[ 
https://issues.apache.org/jira/browse/IOTDB-1351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17337959#comment-17337959
 ] 

Irvine commented on IOTDB-1351:
---

Great idea! This seems necessary.

> Add TestBase for teat container, i.e. Reduce the duplicate code. such as 
> testSimplePutAndGet
> 
>
> Key: IOTDB-1351
> URL: https://issues.apache.org/jira/browse/IOTDB-1351
> Project: Apache IoTDB
>  Issue Type: Sub-task
>  Components: Test
>Reporter: sunjincheng
>Assignee: sunjincheng
>Priority: Major
>
> Add TestBase for teat container, i.e. Reduce the duplicate code. such as 
> `testSimplePutAndGet` method both in ClusterIT and SingleNodeIT.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IOTDB-1348) Last plan not work in cluster mode

2021-04-30 Thread Irvine (Jira)


[ 
https://issues.apache.org/jira/browse/IOTDB-1348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17337145#comment-17337145
 ] 

Irvine commented on IOTDB-1348:
---

I'd like to fix it.

> Last  plan not work in cluster mode
> ---
>
> Key: IOTDB-1348
> URL: https://issues.apache.org/jira/browse/IOTDB-1348
> Project: Apache IoTDB
>  Issue Type: Sub-task
>  Components: Cluster
>Reporter: sunjincheng
>Priority: Major
> Fix For: 0.12.1
>
> Attachments: image-2021-04-30-14-59-45-348.png
>
>
>  !image-2021-04-30-14-59-45-348.png! 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)