From 1a05a3dfbf1643790cba2abf2554e98f85ad90a3 Mon Sep 17 00:00:00 2001 From: Mark Michalek Date: Mon, 15 Apr 2019 13:40:19 -0400 Subject: [PATCH] 0003792: Routing bottleneck on long routing runs (fix connection leak) --- .../org/jumpmind/symmetric/route/DataGapRouteReader.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/route/DataGapRouteReader.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/route/DataGapRouteReader.java index 69c57181e9..992f6fd4c8 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/route/DataGapRouteReader.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/route/DataGapRouteReader.java @@ -146,6 +146,10 @@ protected void execute() { .equals(NonTransactionalBatchAlgorithm.NAME) || !symmetricDialect.supportsTransactionId(); + processInfo.setStatus(ProcessStatus.QUERYING); + cursor = prepareCursor(); + processInfo.setStatus(ProcessStatus.EXTRACTING); + if (transactional) { executeTransactional(cursor); } else { @@ -182,9 +186,6 @@ protected void executeTransactional(ISqlReadCursor cursor) throws Exceptio long maxDataToRoute = context.getChannel().getMaxDataToRoute(); List peekAheadQueue = new ArrayList(peekAheadCount); - processInfo.setStatus(ProcessStatus.QUERYING); - cursor = prepareCursor(); - processInfo.setStatus(ProcessStatus.EXTRACTING); boolean moreData = true; while (dataCount < maxDataToRoute || (lastTransactionId != null)) { if (moreData && (lastTransactionId != null || peekAheadQueue.size() == 0)) {