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]>'].

Reply via email to