diff --git a/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java b/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java index aa5c35e839c6..a1091745b229 100644 --- a/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java +++ b/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java @@ -66,9 +66,10 @@ public interface ReplicationQueue extends Lifecycle { void add(ReplicableCommand job); /** - * Flushes existing jobs in the replication queue. + * Flushes existing jobs in the replication queue, and returns the number of jobs flushed. + * @return the number of jobs flushed */ - void flush(); + int flush(); /** * @return the number of elements in the replication queue. diff --git a/core/src/main/java/org/infinispan/remoting/ReplicationQueueImpl.java b/core/src/main/java/org/infinispan/remoting/ReplicationQueueImpl.java index f2904d850397..0b8fbf50225b 100644 --- a/core/src/main/java/org/infinispan/remoting/ReplicationQueueImpl.java +++ b/core/src/main/java/org/infinispan/remoting/ReplicationQueueImpl.java @@ -112,7 +112,7 @@ public void add(ReplicableCommand job) { } @Override - public void flush() { + public int flush() { List toReplicate = new LinkedList(); elements.drainTo(toReplicate); if (log.isTraceEnabled()) log.trace("flush(): flushing repl queue (num elements={0})", toReplicate.size()); @@ -129,6 +129,8 @@ public void flush() { log.error("failed replicating " + toReplicate.size() + " elements in replication queue", t); } } + + return toReplicateSize; } @Override