This is an automated email from the ASF dual-hosted git repository.
zhaijia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 0ef4a29 ISSUE #267: Bookie should serve in read only mode during
shutting down.
0ef4a29 is described below
commit 0ef4a29c9c34022816c7584943404d0fb52b9a1c
Author: Yiming Zang <[email protected]>
AuthorDate: Fri Jul 21 08:35:25 2017 +0800
ISSUE #267: Bookie should serve in read only mode during shutting down.
Descriptions of the changes in this PR:
Set the bookie in readonly mode during shutting down. (contributed by yzang)
Author: Yiming Zang <[email protected]>
Reviewers: Enrico Olivelli <None>, Jia Zhai <None>
This closes #268 from sijie/readonly_on_shutdown, closes #267
---
.../src/main/java/org/apache/bookkeeper/bookie/Bookie.java | 12 +++++++++---
.../apache/bookkeeper/bookie/InterleavedLedgerStorage.java | 3 +++
.../src/main/java/org/apache/bookkeeper/bookie/Journal.java | 1 +
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
index 15bd634..8da7a37 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
@@ -1279,15 +1279,18 @@ public class Bookie extends BookieCriticalThread {
// mark bookie as in shutting down progress
shuttingdown = true;
- // Shutdown the state service
- stateService.shutdown();
+ // turn bookie to read only during shutting down process
+ LOG.info("Turning bookie to read only during shut down");
+ this.readOnly.set(true);
+
+ // Shutdown Sync thread
+ syncThread.shutdown();
// Shutdown journals
for (Journal journal : journals) {
journal.shutdown();
}
this.join();
- syncThread.shutdown();
// Shutdown the EntryLogger which has the GarbageCollector
Thread running
ledgerStorage.shutdown();
@@ -1305,6 +1308,9 @@ public class Bookie extends BookieCriticalThread {
if (indexDirsManager != ledgerDirsManager) {
idxMonitor.shutdown();
}
+
+ // Shutdown the state service
+ stateService.shutdown();
}
// Shutdown the ZK client
if (zk != null) {
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
index 2a49570..151209f 100644
---
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
+++
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
@@ -202,13 +202,16 @@ public class InterleavedLedgerStorage implements
CompactableLedgerStorage, Entry
// shut down gc thread, which depends on zookeeper client
// also compaction will write entries again to entry log file
LOG.info("Shutting down InterleavedLedgerStorage");
+ LOG.info("Shutting down GC thread");
gcThread.shutdown();
+ LOG.info("Shutting down entry logger");
entryLogger.shutdown();
try {
ledgerCache.close();
} catch (IOException e) {
LOG.error("Error while closing the ledger cache", e);
}
+ LOG.info("Complete shutting down Ledger Storage");
}
@Override
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
index c94bd06..5664a2a 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
@@ -998,6 +998,7 @@ class Journal extends BookieCriticalThread implements
CheckpointSource {
running = false;
this.interrupt();
this.join();
+ LOG.info("Finished Shutting down Journal thread");
} catch (InterruptedException ie) {
LOG.warn("Interrupted during shutting down journal : ", ie);
}
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].