diff --git a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java index d975e528e6..a96e528941 100644 --- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java +++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java @@ -555,7 +555,12 @@ protected boolean checkForForeignKeyChildExistsViolation(AbstractDatabaseWriter log.info("Child exists foreign key violation on table {} during {} with batch {}. Attempting to correct.", targetTable.getName(), data.getDataEventType().toString(), writer.getContext().getBatch().getNodeBatchId()); - return deleteForeignKeyChildren(platform, sqlTemplate, databaseWriter, writer.getTargetTable(), data); + if (deleteForeignKeyChildren(platform, sqlTemplate, databaseWriter, writer.getTargetTable(), data)) { + return true; + } else { + throw new RuntimeException("Failed to delete foreign table rows to fix foreign key violation for table '" + + writer.getTargetTable().getFullyQualifiedTableName() + "'"); + } } return false; }