[Groonga-commit] droonga/droonga-engine at 3455032 [master] Add option to skip copy

Back to archive index

YUKI Hiroshi null+****@clear*****
Sat Jun 28 03:40:36 JST 2014


YUKI Hiroshi	2014-06-28 03:40:36 +0900 (Sat, 28 Jun 2014)

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

  Message:
    Add option to skip copy

  Modified files:
    bin/droonga-engine-join

  Modified: bin/droonga-engine-join (+29 -22)
===================================================================
--- bin/droonga-engine-join    2014-06-28 03:32:19 +0900 (8fd99ee)
+++ bin/droonga-engine-join    2014-06-28 03:40:36 +0900 (b495f74)
@@ -31,6 +31,7 @@ options = OpenStruct.new
 options.base_dir = ENV[Droonga::Path::BASE_DIR_ENV_NAME] || Dir.pwd
 options.drndump  = "drndump"
 options.client   = "droonga-request"
+options.copy     = true
 
 parser = OptionParser.new
 parser.version = Droonga::Engine::VERSION
@@ -41,6 +42,12 @@ parser.on("--base-dir=PATH",
   options.base_dir = path
 end
 
+parser.on("--[no-]copy",
+          "Do or don't copy data from the source cluster.",
+          "(#{options.copy})") do |copy|
+  options.copy = copy
+end
+
 parser.separator("")
 parser.separator("Connections:")
 parser.on("--replica-source-host=HOST",
@@ -106,30 +113,30 @@ unless options.dataset
           "--replica-source-host option."
 end
 
-puts "Initializing new replica..."
-
-destination_params = Marshal.load(Marshal.dump(dataset_params))
-destination_params[options.dataset][:hosts] = [options.my_host]
-destination_catalog = Droonga::CatalogGenerator.generate(destination_params)
-Droonga::SafeFileWriter.write(catalog_path, JSON.pretty_generate(destination_catalog))
-
-sleep(1) # wait for restart
-
-puts "Duplicating replica..."
-
-Droonga::DataAbsorber.absorb(:drndump          => options.drndump,
-                             :client           => options.client,
-                             :dataset          => options.dataset,
-                             :source_host      => options.replica_source_host,
-                             :destination_host => options.my_host,
-                             :port             => options.port,
-                             :tag              => options.tag) do |dump|
-  puts dump
+if options.copy
+  puts "Initializing replica..."
+
+  destination_params = Marshal.load(Marshal.dump(dataset_params))
+  destination_params[options.dataset][:hosts] = [options.my_host]
+  destination_catalog = Droonga::CatalogGenerator.generate(destination_params)
+  Droonga::SafeFileWriter.write(catalog_path, JSON.pretty_generate(destination_catalog))
+
+  sleep(1) # wait for restart
+
+  puts "Copying data..."
+  Droonga::DataAbsorber.absorb(:drndump          => options.drndump,
+                               :client           => options.client,
+                               :dataset          => options.dataset,
+                               :source_host      => options.replica_source_host,
+                               :destination_host => options.my_host,
+                               :port             => options.port,
+                               :tag              => options.tag) do |dump|
+    puts dump
+  end
+  sleep(1)
 end
 
-sleep(1)
-
-puts "Restarting new replica..."
+puts "Restarting replica..."
 
 final_params = Marshal.load(Marshal.dump(dataset_params))
 final_params[options.dataset][:hosts] += [options.my_host]
-------------- next part --------------
HTML����������������������������...
Download 



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