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 54d43062dc..0485886cb1 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 @@ -85,7 +85,12 @@ public DataGapRouteReader(ChannelRouterContext context, ISymmetricEngine engine) this.peekAheadCount = parameterService.getInt(ParameterConstants.ROUTING_PEEK_AHEAD_WINDOW); this.takeTimeout = engine.getParameterService().getInt( ParameterConstants.ROUTING_WAIT_FOR_DATA_TIMEOUT_SECONDS, 330); - this.dataQueue = new LinkedBlockingQueue(peekAheadCount); + if (parameterService.is(ParameterConstants.SYNCHRONIZE_ALL_JOBS)) { + /* there will not be a separate thread to read a blocked queue so make sure the queue is big enough that it can be filled */ + this.dataQueue = new LinkedBlockingQueue(); + } else { + this.dataQueue = new LinkedBlockingQueue(peekAheadCount); + } this.context = context; String engineName = parameterService.getEngineName();