You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2022/02/15 15:32:38 UTC
[hop] branch master updated: HOP-3760 Allow database connections to be garbage collected properly
This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/master by this push:
new d23e935 HOP-3760 Allow database connections to be garbage collected properly
new a963e29 Merge pull request #1368 from sramazzina/MEMORYLEAK
d23e935 is described below
commit d23e935b975ea4d34f9755a94b965a66e1e345cd
Author: Sergio Ramazzina <se...@serasoft.it>
AuthorDate: Tue Feb 15 16:02:21 2022 +0100
HOP-3760 Allow database connections to be garbage collected properly
---
.../apache/hop/pipeline/transforms/databasejoin/DatabaseJoin.java | 1 +
.../hop/pipeline/transforms/databaselookup/DatabaseLookup.java | 1 +
.../java/org/apache/hop/pipeline/transforms/delete/Delete.java | 5 ++++-
.../apache/hop/pipeline/transforms/insertupdate/InsertUpdate.java | 5 ++++-
.../org/apache/hop/pipeline/transforms/tableinput/TableInput.java | 1 +
.../apache/hop/pipeline/transforms/tableoutput/TableOutput.java | 1 +
.../java/org/apache/hop/pipeline/transforms/update/Update.java | 7 ++++++-
7 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoin.java b/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoin.java
index 163f061..3d42085 100644
--- a/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoin.java
+++ b/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoin.java
@@ -290,6 +290,7 @@ public class DatabaseJoin extends BaseTransform<DatabaseJoinMeta, DatabaseJoinDa
try {
if (data.db != null) {
data.db.disconnect();
+ data.db = null;
}
super.dispose();
diff --git a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookup.java b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookup.java
index fd67aee..79c412b 100644
--- a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookup.java
+++ b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookup.java
@@ -681,6 +681,7 @@ public class DatabaseLookup extends BaseTransform<DatabaseLookupMeta, DatabaseLo
// Recover memory immediately, allow in-memory data to be garbage collected
//
data.cache = null;
+ data.db = null;
super.dispose();
}
diff --git a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java
index 2e5d4eb..8dbe5a6 100644
--- a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java
+++ b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java
@@ -291,7 +291,10 @@ public class Delete extends BaseTransform<DeleteMeta, DeleteData>
+ e.toString());
setErrors(1);
} finally {
- if (dispose) data.db.disconnect();
+ if (dispose) {
+ data.db.disconnect();
+ data.db = null;
+ }
}
}
}
diff --git a/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdate.java b/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdate.java
index bab52e0..51000c9 100644
--- a/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdate.java
+++ b/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdate.java
@@ -563,7 +563,10 @@ public class InsertUpdate extends BaseTransform<InsertUpdateMeta, InsertUpdateDa
+ e.toString());
setErrors(1);
} finally {
- if (dispose) data.db.disconnect();
+ if (dispose) {
+ data.db.disconnect();
+ data.db = null;
+ }
}
}
}
diff --git a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInput.java b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInput.java
index b56b527..ed04d16 100644
--- a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInput.java
+++ b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInput.java
@@ -286,6 +286,7 @@ public class TableInput extends BaseTransform<TableInputMeta, TableInputData>
} finally {
if (data.db != null) {
data.db.disconnect();
+ data.db = null;
}
}
diff --git a/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutput.java b/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutput.java
index 6a71262..73150a7 100644
--- a/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutput.java
+++ b/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutput.java
@@ -576,6 +576,7 @@ public class TableOutput extends BaseTransform<TableOutputMeta, TableOutputData>
emptyAndCommitBatchBuffers(true);
} finally {
data.db.disconnect();
+ data.db = null;
}
super.dispose();
}
diff --git a/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/Update.java b/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/Update.java
index ba408db..d6034c7 100644
--- a/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/Update.java
+++ b/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/Update.java
@@ -569,6 +569,8 @@ public class Update extends BaseTransform<UpdateMeta, UpdateData>
if (dispose) {
data.db.closePreparedStatement(data.prepStatementUpdate);
data.db.closePreparedStatement(data.prepStatementLookup);
+ data.prepStatementUpdate = null;
+ data.prepStatementLookup = null;
}
} catch (HopDatabaseException e) {
logError(
@@ -578,7 +580,10 @@ public class Update extends BaseTransform<UpdateMeta, UpdateData>
+ e.toString());
setErrors(1);
} finally {
- if (dispose) data.db.disconnect();
+ if (dispose) {
+ data.db.disconnect();
+ data.db = null;
+ }
}
}
}