<!-- 
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Sat May 25 07:56:56 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://www.couchbase.com/issues/si/jira.issueviews:issue-xml/MB-7522/MB-7522.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Couchbase</title>
    <link>http://www.couchbase.com/issues</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>5.2.4</version>
        <build-number>845</build-number>
        <build-date>26-12-2012</build-date>
    </build-info>

<item>
            <title>[MB-7522] Optimize very common index state transitions (rebalance)</title>
                <link>http://www.couchbase.com/issues/browse/MB-7522</link>
                <project id="10010" key="MB">Couchbase Server</project>
                        <description>Optimize 2 types of state transitions:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1) If a state transition consists only of moving partitions&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;between the passive and active states (or vice-versa), that&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is, no new partitions are added nor existing partitions are&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;marked for cleanup, don&amp;#39;t restart the updater (at the expense&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;of more complex logic to correct snapshots received from a&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currently running updater).&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2) If a state transition only adds new partitions to the&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;passive state (as ns_server&amp;#39;s rebalance frequently calls),&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;don&amp;#39;t restart the updater, and send the updater the new&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list of passive partitions, so that it has a chance to&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iterate over those partitions&amp;#39; content and index them in&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the same run.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;As long as the rebalancer in ns_server doesn&amp;#39;t keep changing&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;its logic regarding state transitions all the time, this&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;provides a significant reduction of the indexing time. However&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for at least some scenarios, there&amp;#39;s still significant portion&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;of rebalance time not spent on indexing nor index compaction.</description>
                <environment></environment>
            <key id="21739">MB-7522</key>
            <summary>Optimize very common index state transitions (rebalance)</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="FilipeManana">Filipe Manana</assignee>
                                <reporter username="FilipeManana">Filipe Manana</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Jan 2013 06:38:44 -0600</created>
                <updated>Thu, 17 Jan 2013 16:04:29 -0600</updated>
                    <resolved>Fri, 11 Jan 2013 13:29:28 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.1</fixVersion>
                                <component>view-engine</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="47594" author="thuan" created="Fri, 11 Jan 2013 10:42:34 -0600"  >Integrated in github-couchdb-preview #548 (See [&lt;a href=&quot;http://qa.hq.northscale.net/job/github-couchdb-preview/548/&quot;&gt;http://qa.hq.northscale.net/job/github-couchdb-preview/548/&lt;/a&gt;])&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-7522&quot; title=&quot;Optimize very common index state transitions (rebalance)&quot;&gt;&lt;strike&gt;MB-7522&lt;/strike&gt;&lt;/a&gt; Optimize index state transitions (rebalance) (Revision ac82c60302422747e8804d566211a20684ec78fb)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result = SUCCESS&lt;br/&gt;
Filipe David Borba Manana : &lt;br/&gt;
Files : &lt;br/&gt;
* src/couch_set_view/test/17-unindexable-partitions.t&lt;br/&gt;
* src/couch_set_view/Makefile.am&lt;br/&gt;
* src/couch_set_view/src/couch_set_view_group.erl&lt;br/&gt;
* src/couch_set_view/test/21-updater-cleanup.t&lt;br/&gt;
* src/couch_set_view/src/couch_set_view_updater.erl&lt;br/&gt;
* src/couch_set_view/src/couch_set_view_util.erl&lt;br/&gt;
* src/couch_set_view/test/19-compaction-retry.t&lt;br/&gt;
* src/couch_set_view/test/05-replicas-transfer.t&lt;br/&gt;
* src/couch_set_view/test/07-replica-compaction.t&lt;br/&gt;
* src/couch_set_view/test/24-updater-add-more-passive-partitions.t&lt;br/&gt;
</comment>
                    <comment id="47611" author="FilipeManana" created="Fri, 11 Jan 2013 13:29:10 -0600"  >Gerrit:  &lt;a href=&quot;http://review.couchbase.org/#/c/23871/&quot;&gt;http://review.couchbase.org/#/c/23871/&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Some results:  &lt;a href=&quot;https://docs.google.com/document/d/1aHHhY-ami84-aEQyx42h95rlp7Vi6WTwlozaIstFgfA/edit&quot;&gt;https://docs.google.com/document/d/1aHHhY-ami84-aEQyx42h95rlp7Vi6WTwlozaIstFgfA/edit&lt;/a&gt; , related to &lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-6726&quot; title=&quot;Rebalance is slow when indexing/compaction and query load are going on in parallel&quot;&gt;MB-6726&lt;/a&gt;.&lt;br/&gt;
&lt;br/&gt;
Drops all needs to restart updater for the current type of transitions the rebalancer does to indexes.</comment>
                    <comment id="47612" author="FilipeManana" created="Fri, 11 Jan 2013 13:29:28 -0600"  >Merged.</comment>
                    <comment id="47619" author="kzeller" created="Fri, 11 Jan 2013 16:11:48 -0600"  >I&amp;#39;m elevating this to 2.0.1 release notes....</comment>
                    <comment id="47654" author="thuan" created="Sat, 12 Jan 2013 11:07:33 -0600"  >Integrated in github-couchdb-preview #549 (See [&lt;a href=&quot;http://qa.hq.northscale.net/job/github-couchdb-preview/549/&quot;&gt;http://qa.hq.northscale.net/job/github-couchdb-preview/549/&lt;/a&gt;])&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-7522&quot; title=&quot;Optimize very common index state transitions (rebalance)&quot;&gt;&lt;strike&gt;MB-7522&lt;/strike&gt;&lt;/a&gt; Improve test 24-updater-add-more-passive-partitions.t (Revision 9126caff6319243a9b0fdfa50e05477c94092d00)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result = SUCCESS&lt;br/&gt;
Filipe David Borba Manana : &lt;br/&gt;
Files : &lt;br/&gt;
* src/couch_set_view/test/24-updater-add-more-passive-partitions.t&lt;br/&gt;
</comment>
                    <comment id="47656" author="thuan" created="Sat, 12 Jan 2013 13:42:34 -0600"  >Integrated in github-couchdb-preview #550 (See [&lt;a href=&quot;http://qa.hq.northscale.net/job/github-couchdb-preview/550/&quot;&gt;http://qa.hq.northscale.net/job/github-couchdb-preview/550/&lt;/a&gt;])&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-7522&quot; title=&quot;Optimize very common index state transitions (rebalance)&quot;&gt;&lt;strike&gt;MB-7522&lt;/strike&gt;&lt;/a&gt; Fix race condition in test (Revision 84d25c7cb136c9f66adbb572c99cca81235ef13e)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result = SUCCESS&lt;br/&gt;
Filipe David Borba Manana : &lt;br/&gt;
Files : &lt;br/&gt;
* src/couch_set_view/test/24-updater-add-more-passive-partitions.t&lt;br/&gt;
</comment>
                    <comment id="47692" author="thuan" created="Mon, 14 Jan 2013 06:43:00 -0600"  >Integrated in github-couchdb-preview #551 (See [&lt;a href=&quot;http://qa.hq.northscale.net/job/github-couchdb-preview/551/&quot;&gt;http://qa.hq.northscale.net/job/github-couchdb-preview/551/&lt;/a&gt;])&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-7522&quot; title=&quot;Optimize very common index state transitions (rebalance)&quot;&gt;&lt;strike&gt;MB-7522&lt;/strike&gt;&lt;/a&gt; Further test improvements/coverage (Revision 8deb85624bacdfa290adb4973f7ba1d204885309)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result = SUCCESS&lt;br/&gt;
Filipe David Borba Manana : &lt;br/&gt;
Files : &lt;br/&gt;
* src/couch_set_view/test/24-updater-add-more-passive-partitions.t&lt;br/&gt;
</comment>
                    <comment id="48014" author="thuan" created="Thu, 17 Jan 2013 16:04:29 -0600"  >Integrated in github-couchdb-preview #552 (See [&lt;a href=&quot;http://qa.hq.northscale.net/job/github-couchdb-preview/552/&quot;&gt;http://qa.hq.northscale.net/job/github-couchdb-preview/552/&lt;/a&gt;])&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-7522&quot; title=&quot;Optimize very common index state transitions (rebalance)&quot;&gt;&lt;strike&gt;MB-7522&lt;/strike&gt;&lt;/a&gt; Do updater restarts if a pending transition exists (Revision 060f7ae833dd871af56d188490a6371f35509782)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result = SUCCESS&lt;br/&gt;
Filipe David Borba Manana : &lt;br/&gt;
Files : &lt;br/&gt;
* src/couch_set_view/src/couch_set_view_group.erl&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                        <customfield id="customfield_10180" key="com.atlassian.jira.ext.charting:firstresponsedate">
                <customfieldname>Date of First Response</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 11 Jan 2013 10:42:34 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>3302</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                        <customfield id="customfield_10050" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                <customfieldname>Sprint Priority</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>1.0</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10052" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Sprint Status</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10027"><![CDATA[Current Sprint]]></customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10012" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                <customfieldname>Story Points</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>2.0</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>
</channel>
</rss>