From 88428e7b6cae337e68212594d92d0206e822d229 Mon Sep 17 00:00:00 2001 From: Eric Long Date: Tue, 21 Apr 2020 09:00:20 -0400 Subject: [PATCH] 0004346: detect collision only for common group mode --- .../org/jumpmind/symmetric/service/impl/RouterService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java index 6a48260c04..dcfe2d5f5f 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java @@ -948,7 +948,7 @@ protected int insertDataEvents(ProcessInfo processInfo, ChannelRouterContext con Map batches = null; long loadId = -1; boolean dataEventAdded = false; - boolean firstTimeForGroup = false; + boolean detectGroupCollision = false; int numberOfDataEventsInserted = 0; final List batchesToInsert = new ArrayList(); final List batchesToRoute = new ArrayList(); @@ -968,7 +968,8 @@ protected int insertDataEvents(ProcessInfo processInfo, ChannelRouterContext con if (batches == null) { batches = new HashMap(); batchesByGroups.put(groupKey, batches); - firstTimeForGroup = true; + } else { + detectGroupCollision = true; } } else { batches = context.getBatchesByNodes(); @@ -1007,7 +1008,7 @@ protected int insertDataEvents(ProcessInfo processInfo, ChannelRouterContext con nodeId, batch.getChannelId(), batches.values()); } - if (useCommonMode && !firstTimeForGroup) { + if (detectGroupCollision) { throw new CommonBatchCollisionException("Collision detected for group " + nodeIds.hashCode() + " when routing nodes " + nodeIds); }