<!DOCTYPE html>
<html>
<head>
</head>
<body>
<dl style="line-height: 1.5; margin-left: 2em">
<dt style="clear: both; float: left; font-weight: bold; width: 8em">Author</dt>
<dd style="margin-left: 8.5em">YUKI Hiroshi <shimo****@clear*****></dd>
<dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
<dd style="margin-left: 8.5em">2015-04-21 18:20:37 +0900 (Tue, 21 Apr 2015)</dd>
<dt style="clear: both; float: left; font-weight: bold; width: 8em">New Revision</dt>
<dd style="margin-left: 8.5em"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0">414de8685ac333d5e8fdafd7105d4e5ea06dd4f0</a></dd>
<dt style="clear: both; float: left; font-weight: bold; width: 8em">Message</dt>
<dd style="margin-left: 8.5em"><pre style="border: 1px solid #aaa; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; padding: 0.5em; width: auto">Wait until all existing nodes are restarted, after cluster information is changed</pre></dd>
<dt style="clear: both; float: left; font-weight: bold; width: 8em">Modified files</dt>
<dd style="margin-left: 8.5em">
<ul>
<li><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#diff-0">bin/droonga-engine-join</a></li>
<li><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#diff-1">lib/droonga/serf.rb</a></li>
</ul>
</dd>
</dl>
<div class="diff-section" style="clear: both">
<table style="border-collapse: collapse; border: 1px solid #aaa">
<thead>
<tr class="diff-header" style="border: 1px solid #aaa">
<td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre"> Modified: bin/droonga-engine-join (+23 -2)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
</td>
</tr>
</thead>
<tbody>
<tr>
<th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L168">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L169">169</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L170">170</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L171">171</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L172">172</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L173">173</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L174">174</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L313">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L314">314</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L315">315</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L316">316</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L317">317</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L318">318</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L319">319</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L320">320</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L324">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L325">325</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L326">326</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L327">327</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L328">328</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L329">329</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L330">330</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0L331">331</a></span>
</pre>
</th>
<th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R168">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R169">169</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R170">170</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R171">171</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R172">172</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R173">173</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R174">174</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R175">175</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R176">176</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R177">177</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R178">178</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R179">179</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R180">180</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R181">181</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R182">182</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R183">183</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R184">184</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R185">185</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R186">186</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R187">187</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R188">188</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R189">189</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R190">190</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R191">191</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R192">192</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R193">193</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R194">194</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R195">195</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R334">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R335">335</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R336">336</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R337">337</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R338">338</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R339">339</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R340">340</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R341">341</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R345">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R346">346</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R347">347</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R348">348</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R349">349</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R350">350</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R351">351</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L0R352">352</a></span>
</pre>
</th>
<td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -169,6 +169,27 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> source_catalog.cluster_id</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> end</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ def all_nodes</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ existing_nodes + [joining_node]</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ def existing_nodes</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ @existing_nodes ||= prepare_existing_nodes</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ def prepare_existing_nodes</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ generator = Catalog::Generator.new</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ generator.load(raw_source_catalog)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ dataset = generator.dataset_for_host(source_node.host)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ other_hosts = dataset.replicas.hosts</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ other_hosts.collect do |host|</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ NodeName.new(:host => host,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ :port => source_node.port,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ :tag => source_node.tag)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> def source_catalog</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> @source_catalog ||= parse_source_catalog</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> end</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -314,7 +335,7 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> def register_to_existing_nodes</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> puts("Register new node to existing hosts in the cluster...")</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- source_node_serf.ensure_restarted do</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ source_node_serf.ensure_restarted(*existing_nodes) do</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> source_node_serf.send_query("add_replicas",</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> "cluster_id" => source_cluster_id,</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> "dataset" => dataset,</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -325,7 +346,7 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> def unregister_from_existing_nodes</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> puts("Unregister new node from existing hosts in the cluster...")</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- source_node_serf.ensure_restarted do</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ source_node_serf.ensure_restarted(*existing_nodes) do</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> source_node_serf.send_query("remove_replicas",</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> "cluster_id" => source_cluster_id,</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> "dataset" => dataset,</span>
</pre>
</td>
</tr>
</tbody>
</table>
<table style="border-collapse: collapse; border: 1px solid #aaa">
<thead>
<tr class="diff-header" style="border: 1px solid #aaa">
<td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre"> Modified: lib/droonga/serf.rb (+17 -6)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
</td>
</tr>
</thead>
<tbody>
<tr>
<th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L221">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L222">222</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L223">223</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L224">224</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L225">225</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L226">226</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L227">227</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L228">228</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L229">229</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L230">230</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L231">231</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L232">232</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L233">233</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L234">234</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L235">235</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L236">236</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L237">237</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L238">238</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L239">239</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L240">240</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1L241">241</a></span>
</pre>
</th>
<th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R221">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R222">222</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R223">223</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R224">224</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R225">225</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R226">226</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R227">227</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R228">228</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R229">229</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R230">230</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R231">231</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R232">232</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R233">233</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R234">234</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R235">235</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R236">236</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R237">237</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R238">238</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R239">239</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R240">240</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R241">241</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R242">242</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R243">243</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R244">244</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R245">245</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R246">246</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R247">247</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R248">248</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R249">249</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R250">250</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R251">251</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/414de8685ac333d5e8fdafd7105d4e5ea06dd4f0#L1R252">252</a></span>
</pre>
</th>
<td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -222,20 +222,31 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> CHECK_RESTARTED_INTERVAL = 3</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> CHECK_RESTARTED_TIMEOUT = 60 * 5</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- def ensure_restarted(&block)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ def ensure_restarted(*nodes, &block)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ nodes << @name.to_s if nodes.empty?</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ targets = nodes.collect do |node|</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ serf = self.class.new(node)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ :serf => serf,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ :previous_name => serf.get_tag(Tag.internal_node_name),</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ }</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> start_time = Time.now</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- previous_internal_name = get_tag(Tag.internal_node_name)</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- restarted = false</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> yield # the given operation must restart the service.</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> while Time.now - start_time < CHECK_RESTARTED_TIMEOUT</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- restarted = get_tag(Tag.internal_node_name) == previous_internal_name</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- break if restarted</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ targets.reject! do |target|</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ name = target[:serf].get_tag(Tag.internal_node_name)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ name != target[:previous_name]</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ break if targets.empty?</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> sleep(CHECK_RESTARTED_INTERVAL)</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> end</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- restarted</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ targets.empty?</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> end</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> private</span>
</pre>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>