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/04 12:45:12 UTC
[hop] branch master updated: HOP-3724 DatabaseConnectionMap takes to memory leaks conditions in long running processes
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 6d25b86 HOP-3724 DatabaseConnectionMap takes to memory leaks conditions in long running processes
new d03d247 Merge pull request #1331 from sramazzina/MEMORYLEAK
6d25b86 is described below
commit 6d25b865937ddb3420716915a18649d674eddad0
Author: Sergio Ramazzina <se...@serasoft.it>
AuthorDate: Fri Feb 4 11:32:10 2022 +0100
HOP-3724 DatabaseConnectionMap takes to memory leaks conditions in long running processes
---
.../java/org/apache/hop/core/database/map/DatabaseConnectionMap.java | 2 +-
.../org/apache/hop/pipeline/engines/local/LocalPipelineEngine.java | 2 ++
.../org/apache/hop/workflow/engines/local/LocalWorkflowEngine.java | 4 +++-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/core/src/main/java/org/apache/hop/core/database/map/DatabaseConnectionMap.java b/core/src/main/java/org/apache/hop/core/database/map/DatabaseConnectionMap.java
index 7cc6c90..bf4355d 100644
--- a/core/src/main/java/org/apache/hop/core/database/map/DatabaseConnectionMap.java
+++ b/core/src/main/java/org/apache/hop/core/database/map/DatabaseConnectionMap.java
@@ -70,7 +70,7 @@ public class DatabaseConnectionMap {
map.remove(key);
}
- public static String createEntryKey(
+ private String createEntryKey(
String connectionGroup, String partitionID, Database database) {
StringBuilder key = new StringBuilder(connectionGroup);
diff --git a/engine/src/main/java/org/apache/hop/pipeline/engines/local/LocalPipelineEngine.java b/engine/src/main/java/org/apache/hop/pipeline/engines/local/LocalPipelineEngine.java
index fc15848..1e7e904 100644
--- a/engine/src/main/java/org/apache/hop/pipeline/engines/local/LocalPipelineEngine.java
+++ b/engine/src/main/java/org/apache/hop/pipeline/engines/local/LocalPipelineEngine.java
@@ -187,6 +187,8 @@ public class LocalPipelineEngine extends Pipeline implements IPipelineEngine<Pip
pipeline.getLogChannel().logError(Const.getStackTracker(hde));
}
}
+ //Definitely remove the connection reference the connections map
+ DatabaseConnectionMap.getInstance().removeConnection(group, null, database);
}
});
}
diff --git a/engine/src/main/java/org/apache/hop/workflow/engines/local/LocalWorkflowEngine.java b/engine/src/main/java/org/apache/hop/workflow/engines/local/LocalWorkflowEngine.java
index 8f95b2f..d73e629 100644
--- a/engine/src/main/java/org/apache/hop/workflow/engines/local/LocalWorkflowEngine.java
+++ b/engine/src/main/java/org/apache/hop/workflow/engines/local/LocalWorkflowEngine.java
@@ -166,7 +166,7 @@ public class LocalWorkflowEngine extends Workflow implements IWorkflowEngine<Wor
"Database connection '"
+ database.getDatabaseMeta().getName()
+ "' closed successfully!");
- } catch (HopDatabaseException hde) {
+ } catch (HopDatabaseException hde) {
workflow
.getLogChannel()
.logError(
@@ -175,6 +175,8 @@ public class LocalWorkflowEngine extends Workflow implements IWorkflowEngine<Wor
+ hde.getMessage());
workflow.getLogChannel().logError(Const.getStackTracker(hde));
}
+ //Definitely remove the connection reference the connections map
+ DatabaseConnectionMap.getInstance().removeConnection(group, null, database);
}
}
});