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); } } } - }
