From 5b6ee0b2f852a7b91d77af9b092be5c068741dbb Mon Sep 17 00:00:00 2001 From: Sagar Rao Date: Thu, 10 Nov 2022 07:47:00 +0530 Subject: [PATCH 1/3] Fix bug: Closing iterators on errors --- .../hugegraph/backend/store/cassandra/CassandraTable.java | 6 ++++++ .../com/baidu/hugegraph/backend/store/mysql/MysqlTable.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java index a96fef04df..3d9df0e18e 100644 --- a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java +++ b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java @@ -156,6 +156,12 @@ protected Iterator query(Query query, } catch (DriverException e) { LOG.debug("Failed to query [{}], detail statement: {}", query, selects, e); + // Closing the iterator + try { + rs.close(); + } catch (Exception closeException) { + throw new BackendException("Error closing Iterator during query [%s]", e, query); + } throw new BackendException("Failed to query [%s]", e, query); } diff --git a/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java b/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java index 2a06beab95..09a53735f2 100644 --- a/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java +++ b/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java @@ -477,6 +477,12 @@ protected Iterator query(Session session, Query query, rs.extend(parser.apply(query, results)); } } catch (SQLException e) { + // closing iterator + try { + rs.close(); + } catch (Exception closeException) { + throw new BackendException("Error closing Iterator during query [%s]", e, query); + } throw new BackendException("Failed to query [%s]", e, query); } From ae12cd1f845ad179f912a819c2e99d9203c8dd4f Mon Sep 17 00:00:00 2001 From: Sagar Rao Date: Mon, 14 Nov 2022 06:59:11 +0530 Subject: [PATCH 2/3] Review comments addresed --- .../hugegraph/backend/store/cassandra/CassandraTable.java | 4 ++-- .../com/baidu/hugegraph/backend/store/mysql/MysqlTable.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java index 3d9df0e18e..8bd74c2c05 100644 --- a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java +++ b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java @@ -159,8 +159,8 @@ protected Iterator query(Query query, // Closing the iterator try { rs.close(); - } catch (Exception closeException) { - throw new BackendException("Error closing Iterator during query [%s]", e, query); + } catch (Exception e2) { + LOG.error("Got error {} when closing iterator for query {}", e, query); } throw new BackendException("Failed to query [%s]", e, query); } diff --git a/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java b/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java index 09a53735f2..ba22fcc596 100644 --- a/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java +++ b/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java @@ -477,11 +477,11 @@ protected Iterator query(Session session, Query query, rs.extend(parser.apply(query, results)); } } catch (SQLException e) { - // closing iterator + // Closing the iterator try { rs.close(); - } catch (Exception closeException) { - throw new BackendException("Error closing Iterator during query [%s]", e, query); + } catch (Exception e2) { + LOG.error("Got error {} when closing iterator for query {}", e, query); } throw new BackendException("Failed to query [%s]", e, query); } From 6f9acd3c393525a9bd3f0d4a9fd4cfa2bc58f6a8 Mon Sep 17 00:00:00 2001 From: Sagar Rao Date: Mon, 14 Nov 2022 19:02:46 +0530 Subject: [PATCH 3/3] Review comments addressed --- .../baidu/hugegraph/backend/store/cassandra/CassandraTable.java | 2 +- .../com/baidu/hugegraph/backend/store/mysql/MysqlTable.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java index 8bd74c2c05..8f3d382849 100644 --- a/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java +++ b/hugegraph-cassandra/src/main/java/com/baidu/hugegraph/backend/store/cassandra/CassandraTable.java @@ -160,7 +160,7 @@ protected Iterator query(Query query, try { rs.close(); } catch (Exception e2) { - LOG.error("Got error {} when closing iterator for query {}", e, query); + LOG.error("Got error {} when closing iterator for query {}", e2, query); } throw new BackendException("Failed to query [%s]", e, query); } diff --git a/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java b/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java index ba22fcc596..3417ee21ab 100644 --- a/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java +++ b/hugegraph-mysql/src/main/java/com/baidu/hugegraph/backend/store/mysql/MysqlTable.java @@ -481,7 +481,7 @@ protected Iterator query(Session session, Query query, try { rs.close(); } catch (Exception e2) { - LOG.error("Got error {} when closing iterator for query {}", e, query); + LOG.error("Got error {} when closing iterator for query {}", e2, query); } throw new BackendException("Failed to query [%s]", e, query); }