From c6dec2f0e02eb3ae9b9d070ec09cf822eda6bd2a Mon Sep 17 00:00:00 2001 From: Aleksey Yeschenko Date: Fri, 25 Aug 2017 17:30:49 +0100 Subject: [PATCH] Make BatchlogManagerMBean.forceBatchlogReplay() blocking patch by Aleksey Yeschenko; reviewed by Jeff Jirsa for CASSANDRA-13809 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/BatchlogManager.java | 4 ++-- src/java/org/apache/cassandra/db/BatchlogManagerMBean.java | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 2fbb7e9bce..4e68ddc354 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.11 + * Make BatchlogManagerMBean.forceBatchlogReplay() blocking (CASSANDRA-13809) * Uncaught exceptions in Netty pipeline (CASSANDRA-13649) * Prevent integer overflow on exabyte filesystems (CASSANDRA-13067) * Fix queries with LIMIT and filtering on clustering columns (CASSANDRA-11223) diff --git a/src/java/org/apache/cassandra/db/BatchlogManager.java b/src/java/org/apache/cassandra/db/BatchlogManager.java index ba56f0d95d..9a2d1f69a9 100644 --- a/src/java/org/apache/cassandra/db/BatchlogManager.java +++ b/src/java/org/apache/cassandra/db/BatchlogManager.java @@ -112,9 +112,9 @@ public class BatchlogManager implements BatchlogManagerMBean return totalBatchesReplayed.longValue(); } - public void forceBatchlogReplay() + public void forceBatchlogReplay() throws Exception { - startBatchlogReplay(); + startBatchlogReplay().get(); } public Future startBatchlogReplay() diff --git a/src/java/org/apache/cassandra/db/BatchlogManagerMBean.java b/src/java/org/apache/cassandra/db/BatchlogManagerMBean.java index 2e60ba4429..5ddf232203 100644 --- a/src/java/org/apache/cassandra/db/BatchlogManagerMBean.java +++ b/src/java/org/apache/cassandra/db/BatchlogManagerMBean.java @@ -32,7 +32,7 @@ public interface BatchlogManagerMBean public long getTotalBatchesReplayed(); /** - * Forces batchlog replay. Returns immediately if replay is already in progress. + * Forces batchlog replay. Blocks until completion. */ - public void forceBatchlogReplay(); + public void forceBatchlogReplay() throws Exception; }