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