[Groonga-commit] droonga/droonga-engine at e9d3bf3 [buffered-forward] cache node names for more cases

Back to archive index

YUKI Hiroshi null+****@clear*****
Tue Jan 6 17:23:55 JST 2015


YUKI Hiroshi	2015-01-06 17:23:55 +0900 (Tue, 06 Jan 2015)

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

  Message:
    cache node names for more cases

  Modified files:
    lib/droonga/cluster.rb

  Modified: lib/droonga/cluster.rb (+9 -12)
===================================================================
--- lib/droonga/cluster.rb    2015-01-06 17:21:53 +0900 (3debe80)
+++ lib/droonga/cluster.rb    2015-01-06 17:23:55 +0900 (8e24d8c)
@@ -115,27 +115,21 @@ module Droonga
     end
 
     def same_role_nodes
-      engine_nodes.select do |node|
+      @same_role_nodes ||= engine_nodes.select do |node|
         node.role == node_metadata.role
-      end.collect do |node|
-        node.name
-      end
+      end.collect(&:name)
     end
 
     def forwardable_nodes
-      engine_nodes.select do |node|
+      @forwardable_nodes ||= engine_nodes.select do |node|
         node.live? and node.role == node_metadata.role
-      end.collect do |node|
-        node.name
-      end
+      end.collect(&:name)
     end
 
     def writable_nodes
-      engine_nodes.select do |node|
+      @writable_nodes ||= engine_nodes.select do |node|
         node.writable_by?(node_metadata.role)
-      end.collect do |node|
-        node.name
-      end
+      end.collect(&:name)
     end
 
     def unwritable_node?(node_name)
@@ -161,6 +155,9 @@ module Droonga
       @service_provider_nodes = nil
       @absorb_source_nodes = nil
       @absorb_destination_nodes = nil
+      @same_role_nodes = nil
+      @forwardable_nodes = nil
+      @writable_nodes = nil
     end
 
     def load_state_file
-------------- next part --------------
HTML����������������������������...
Download 



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