This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new f46bf7972f Issue #5714 (Crash during start of HOP GUI) (#6179)
f46bf7972f is described below
commit f46bf7972f0ce4487e969d3eea6e5ec00c9d4e94
Author: Matt Casters <[email protected]>
AuthorDate: Thu Dec 18 06:41:25 2025 +0100
Issue #5714 (Crash during start of HOP GUI) (#6179)
Co-authored-by: Matt Casters <[email protected]>
---
.../apache/hop/ui/hopgui/delegates/HopGuiAuditDelegate.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git
a/ui/src/main/java/org/apache/hop/ui/hopgui/delegates/HopGuiAuditDelegate.java
b/ui/src/main/java/org/apache/hop/ui/hopgui/delegates/HopGuiAuditDelegate.java
index 0a52cf12c0..9179ca8dc9 100644
---
a/ui/src/main/java/org/apache/hop/ui/hopgui/delegates/HopGuiAuditDelegate.java
+++
b/ui/src/main/java/org/apache/hop/ui/hopgui/delegates/HopGuiAuditDelegate.java
@@ -26,6 +26,7 @@ import org.apache.hop.history.AuditList;
import org.apache.hop.history.AuditManager;
import org.apache.hop.history.AuditState;
import org.apache.hop.history.AuditStateMap;
+import org.apache.hop.metadata.api.HopMetadata;
import org.apache.hop.metadata.api.IHopMetadata;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.metadata.api.IHopMetadataSerializer;
@@ -144,6 +145,16 @@ public class HopGuiAuditDelegate {
List<Class<IHopMetadata>> metadataClasses =
metadataProvider.getMetadataClasses();
for (Class<IHopMetadata> metadataClass : metadataClasses) {
if (metadataClass.getName().equals(className)) {
+ // See if the object is already open.
+ // In rare cases we see doubles being saved in the audit logs.
+ //
+ String key = metadataClass.getAnnotation(HopMetadata.class).key();
+ MetadataEditor<?> existingEditor = perspective.findEditor(key, name);
+ if (existingEditor != null) {
+ // We can skip this object, it's already loaded.
+ continue;
+ }
+
// Get the serializer and open it up
//
IHopMetadataSerializer<IHopMetadata> serializer =