[Groonga-commit] droonga/droonga-engine at 39bf724 [buffered-forward] Start and shutdown Forwarder under EngineNode correctly

Back to archive index

YUKI Hiroshi null+****@clear*****
Tue Jan 6 18:55:31 JST 2015


YUKI Hiroshi	2015-01-06 18:55:31 +0900 (Tue, 06 Jan 2015)

  New Revision: 39bf724210b45983a67a41e6e940d97078e47bbd
  https://github.com/droonga/droonga-engine/commit/39bf724210b45983a67a41e6e940d97078e47bbd

  Message:
    Start and shutdown Forwarder under EngineNode correctly

  Modified files:
    lib/droonga/cluster.rb
    lib/droonga/engine.rb
    lib/droonga/engine_node.rb

  Modified: lib/droonga/cluster.rb (+21 -5)
===================================================================
--- lib/droonga/cluster.rb    2015-01-06 18:34:52 +0900 (eaa27d5)
+++ lib/droonga/cluster.rb    2015-01-06 18:55:31 +0900 (c3b2a40)
@@ -33,20 +33,36 @@ module Droonga
       @state = nil
       @on_change = nil
 
-      @file_observer = FileObserver.new(loop, Path.cluster_state)
-      @file_observer.on_change = lambda do
-        reload
-      end
-
       reload
     end
 
     def start_observe
+      return if @file_observer
+      @file_observer = FileObserver.new(@loop, Path.cluster_state)
+      @file_observer.on_change = lambda do
+        reload
+      end
       @file_observer.start
     end
 
     def stop_observe
+      return unless @file_observer
       @file_observer.stop
+      @file_observer = nil
+    end
+
+    def start
+      engine_nodes.each do |node|
+        node.start
+      end
+      start_observe
+    end
+
+    def shutdown
+      stop_observe
+      engine_nodes.each do |node|
+        node.shutdown
+      end
     end
 
     def reload

  Modified: lib/droonga/engine.rb (+3 -1)
===================================================================
--- lib/droonga/engine.rb    2015-01-06 18:34:52 +0900 (06d4958)
+++ lib/droonga/engine.rb    2015-01-06 18:55:31 +0900 (7bd284b)
@@ -52,7 +52,7 @@ module Droonga
         @on_ready.call if @on_ready
       end
       @state.start
-      @cluster.start_observe
+      @cluster.start
       @node_metadata_observer.start
       @dispatcher.start
       logger.trace("start: done")
@@ -66,6 +66,7 @@ module Droonga
         logger.trace("stop_gracefully/on_finish: start")
         save_last_processed_message_timestamp
         @dispatcher.stop_gracefully do
+          @cluster.shutdown
           @state.shutdown
           yield
         end
@@ -88,6 +89,7 @@ module Droonga
       @cluster.stop_observe
       @node_metadata_observer.stop
       @dispatcher.stop_immediately
+      @cluster.shutdown
       @state.shutdown
       logger.trace("stop_immediately: done")
     end

  Modified: lib/droonga/engine_node.rb (+2 -6)
===================================================================
--- lib/droonga/engine_node.rb    2015-01-06 18:34:52 +0900 (0b970ff)
+++ lib/droonga/engine_node.rb    2015-01-06 18:55:31 +0900 (ed62d67)
@@ -33,7 +33,8 @@ module Droonga
 
     def start
       logger.trace("start: start")
-      resume
+      @forwarder.start
+      @buffer.start_forward if really_writable?
       logger.trace("start: done")
     end
 
@@ -43,11 +44,6 @@ module Droonga
       logger.trace("shutdown: done")
     end
 
-    def resume
-      @forwarder.resume
-      @buffer.start_forward if really_writable?
-    end
-
     def forward(message, destination)
       if not really_writable?
         @buffer.add(message, destination)
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index