From 5b59db2913bc45f2913d16de084ae9723bda9214 Mon Sep 17 00:00:00 2001 From: evan-miller-jumpmind <70151986+evan-miller-jumpmind@users.noreply.github.com> Date: Thu, 18 May 2023 14:11:32 -0400 Subject: [PATCH] 0005847: Try again when foreign key correction fails --- .../jumpmind/symmetric/service/impl/DataService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java index 2d4875b226..d3d3afed6d 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java @@ -2565,8 +2565,14 @@ protected void reloadMissingForeignKeyRows(Data data, long batchId, String nodeI log.info("Issuing foreign key correction for batch {} table {}: foreign table '{}' column '{}' fk name '{}' where '{}'", batchName, data.getTableName(), Table.getFullyQualifiedTableName(catalog, schema, foreignTable.getName()), foreignTableRow.getReferenceColumnName(), foreignTableRow.getFkName(), foreignTableRow.getWhereSql()); - reloadTableImmediate(nodeId, catalog, schema, foreignTable.getName(), foreignTableRow.getWhereSql(), - dataId == -1 ? Constants.CHANNEL_CONFIG : null); + try { + reloadTableImmediate(nodeId, catalog, schema, foreignTable.getName(), foreignTableRow.getWhereSql(), + dataId == -1 ? Constants.CHANNEL_CONFIG : null); + } catch (Exception ex) { + log.info("Failed to issue foreign key correction, but will try again,", ex); + reloadTableImmediate(nodeId, catalog, schema, foreignTable.getName(), foreignTableRow.getWhereSql(), + dataId == -1 ? Constants.CHANNEL_CONFIG : null); + } } } } else {