This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a commit to branch fix_unclosed_resultset
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 23ac528fbe6e2cb8ab10a3e23ea7eb91e9711daf
Author: jt2594838 <[email protected]>
AuthorDate: Wed Jan 8 09:39:45 2020 +0800

    fix some ResultSets that are unsafely closed
---
 .../iotdb/db/integration/IoTDBDeletionIT.java      | 60 +++++++++++-----------
 .../iotdb/db/integration/IoTDBMergeTest.java       | 33 +++++++-----
 2 files changed, 49 insertions(+), 44 deletions(-)

diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBDeletionIT.java 
b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBDeletionIT.java
index 2dc2a81..6eaad79 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBDeletionIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBDeletionIT.java
@@ -85,29 +85,29 @@ public class IoTDBDeletionIT {
           + " WHERE time <= 350");
       statement.execute("DELETE FROM root.vehicle.d0 WHERE time <= 150");
 
-      ResultSet set = statement.executeQuery("SELECT * FROM root.vehicle.d0");
-      int cnt = 0;
-      while (set.next()) {
-        cnt++;
+      try (ResultSet set = statement.executeQuery("SELECT * FROM 
root.vehicle.d0")) {
+        int cnt = 0;
+        while (set.next()) {
+          cnt++;
+        }
+        assertEquals(250, cnt);
       }
-      assertEquals(250, cnt);
-      set.close();
 
-      set = statement.executeQuery("SELECT s0 FROM root.vehicle.d0");
-      cnt = 0;
-      while (set.next()) {
-        cnt++;
+      try (ResultSet set = statement.executeQuery("SELECT s0 FROM 
root.vehicle.d0")) {
+        int cnt = 0;
+        while (set.next()) {
+          cnt++;
+        }
+        assertEquals(100, cnt);
       }
-      assertEquals(100, cnt);
-      set.close();
 
-      set = statement.executeQuery("SELECT s1,s2,s3 FROM root.vehicle.d0");
-      cnt = 0;
-      while (set.next()) {
-        cnt++;
+      try (ResultSet set = statement.executeQuery("SELECT s1,s2,s3 FROM 
root.vehicle.d0")) {
+        int cnt = 0;
+        while (set.next()) {
+          cnt++;
+        }
+        assertEquals(50, cnt);
       }
-      assertEquals(50, cnt);
-      set.close();
 
     }
     cleanData();
@@ -125,22 +125,22 @@ public class IoTDBDeletionIT {
       statement.execute("DELETE FROM root.vehicle.d0 WHERE time <= 15000");
 
       // before merge completes
-      ResultSet set = statement.executeQuery("SELECT * FROM root.vehicle.d0");
-      int cnt = 0;
-      while (set.next()) {
-        cnt ++;
+      try (ResultSet set = statement.executeQuery("SELECT * FROM 
root.vehicle.d0")) {
+        int cnt = 0;
+        while (set.next()) {
+          cnt++;
+        }
+        assertEquals(5000, cnt);
       }
-      assertEquals(5000, cnt);
-      set.close();
 
       // after merge completes
-      set = statement.executeQuery("SELECT * FROM root.vehicle.d0");
-      cnt = 0;
-      while (set.next()) {
-        cnt ++;
+      try (ResultSet set = statement.executeQuery("SELECT * FROM 
root.vehicle.d0")) {
+        int cnt = 0;
+        while (set.next()) {
+          cnt++;
+        }
+        assertEquals(5000, cnt);
       }
-      assertEquals(5000, cnt);
-      set.close();
       cleanData();
     }
   }
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMergeTest.java 
b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMergeTest.java
index 6284842..40065a7 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMergeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMergeTest.java
@@ -60,8 +60,12 @@ public class IoTDBMergeTest {
         Statement statement = connection.createStatement()) {
       statement.execute("SET STORAGE GROUP TO root.mergeTest");
       for (int i = 1; i <= 3; i++) {
-        statement.execute("CREATE TIMESERIES root.mergeTest.s" + i + " WITH 
DATATYPE=INT64,"
-            + "ENCODING=PLAIN");
+        try {
+          statement.execute("CREATE TIMESERIES root.mergeTest.s" + i + " WITH 
DATATYPE=INT64,"
+              + "ENCODING=PLAIN");
+        } catch (SQLException e) {
+          // ignore
+        }
       }
 
       for (int i = 0; i < 10; i++) {
@@ -77,21 +81,22 @@ public class IoTDBMergeTest {
         statement.execute("FLUSH");
         statement.execute("MERGE");
 
-        ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.mergeTest");
-        int cnt = 0;
-        while (resultSet.next()) {
-          long time = resultSet.getLong("Time");
-          long s1 = resultSet.getLong("root.mergeTest.s1");
-          long s2 = resultSet.getLong("root.mergeTest.s2");
-          long s3 = resultSet.getLong("root.mergeTest.s3");
-          assertEquals(time + 10, s1);
-          assertEquals(time + 20, s2);
-          assertEquals(time + 30, s3);
-          cnt++;
+        int cnt;
+        try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.mergeTest")) {
+          cnt = 0;
+          while (resultSet.next()) {
+            long time = resultSet.getLong("Time");
+            long s1 = resultSet.getLong("root.mergeTest.s1");
+            long s2 = resultSet.getLong("root.mergeTest.s2");
+            long s3 = resultSet.getLong("root.mergeTest.s3");
+            assertEquals(time + 10, s1);
+            assertEquals(time + 20, s2);
+            assertEquals(time + 30, s3);
+            cnt++;
+          }
         }
         assertEquals((i + 1) * 10, cnt);
       }
     }
   }
-
 }

Reply via email to