From ebb58650020845a815d43018a67c4e2117d22493 Mon Sep 17 00:00:00 2001 From: Eric Long Date: Thu, 28 Jan 2021 15:58:42 -0500 Subject: [PATCH] 0004798: No data found while correcting foreign key error for reload batch --- .../org/jumpmind/symmetric/service/impl/DataService.java | 9 ++++++++- .../symmetric/service/impl/DataServiceSqlMap.java | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 285ca7a12c..fa05d5326d 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 @@ -2537,8 +2537,15 @@ public void reloadMissingForeignKeyRowsForLoad(String sourceNodeId, long batchId public void sendMissingForeignKeyRowsForLoad(long batchId, String nodeId, long rowNumber, String rowData) { ISqlReadCursor cursor = null; Data data = null; + long startBatchId = batchId; + if (parameterService.is(ParameterConstants.INITIAL_LOAD_USE_EXTRACT_JOB)) { + startBatchId = sqlTemplateDirty.queryForLong(getSql("selectStartBatchExtractRequest"), batchId, nodeId); + if (startBatchId == 0) { + startBatchId = batchId; + } + } try { - cursor = selectDataFor(batchId, nodeId, false); + cursor = selectDataFor(startBatchId, nodeId, false); data = cursor.next(); } finally { cursor.close(); diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataServiceSqlMap.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataServiceSqlMap.java index c9fa0390cb..5577b85957 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataServiceSqlMap.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataServiceSqlMap.java @@ -154,6 +154,9 @@ public DataServiceSqlMap(IDatabasePlatform platform, Map replace + " last_update_time = ? " + " where load_id = ? and completed = 0"); + putSql("selectStartBatchExtractRequest", + "select start_batch_id from $(extract_request) where ? between start_batch_id and end_batch_id and node_id = ?"); + putSql("updateTableReloadStatusFinalizeCount", "update $(table_reload_status) set " + " finalize_batch_count = ?, last_update_time = ? " + " where load_id = ?");