<!-- 
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Tue May 21 07:42:48 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-6423/MB-6423.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-6423] Allow users to set index_path post upgrade to 2.0 </title>
                <link>http://www.couchbase.com/issues/browse/MB-6423</link>
                <project id="10010" key="MB">Couchbase Server</project>
                        <description>Use case:-&lt;br/&gt;
1) Users upgrade to 20 from 181&lt;br/&gt;
2) They decide to separate out partition for indexes. Currently there is no way to configure just index_path without wiping out data_path or reconfiguring the cluster. &lt;br/&gt;
&amp;nbsp;Currently, issuing the data_path command will wipe out the database files. &lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
One can configure the data path&lt;br/&gt;
curl -d path=/var/tmp/test &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
This does not seem to work... &lt;br/&gt;
curl -d index_path=/data2 &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt;&lt;br/&gt;
</description>
                <environment>1639</environment>
            <key id="19352">MB-6423</key>
            <summary>Allow users to set index_path post upgrade to 2.0 </summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="Aliaksey Artamonau">Aliaksey Artamonau</assignee>
                                <reporter username="karan">Karan Kumar</reporter>
                        <labels>
                        <label>system-test</label>
                    </labels>
                <created>Sat, 25 Aug 2012 16:27:53 -0500</created>
                <updated>Wed, 9 Jan 2013 23:13:18 -0600</updated>
                    <resolved>Mon, 8 Oct 2012 14:40:11 -0500</resolved>
                            <version>2.0-beta</version>
                                <fixVersion>2.0</fixVersion>
                                <component>ns_server</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="36903" author="karan" created="Sat, 25 Aug 2012 18:29:50 -0500"  >I guess right now, we would need separate rest api to configure just indexes. &lt;br/&gt;
Not a bug, but a feature i guess. &lt;br/&gt;
&lt;br/&gt;
Following seems to work fine. &lt;br/&gt;
curl -d &amp;quot;path=/data&amp;amp;index_path=/indexes&amp;quot; &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt;</comment>
                    <comment id="36904" author="farshid" created="Sat, 25 Aug 2012 18:53:37 -0500"  >yes for our testing we want to try and put each index on a seperate disk. not sure if there is an api that allows us to do so</comment>
                    <comment id="36938" author="alkondratenko" created="Mon, 27 Aug 2012 11:13:51 -0500"  >We don&amp;#39;t plan to have such API. You can manually replace files with symlinks. Another option is raid 0</comment>
                    <comment id="38036" author="karan" created="Fri, 7 Sep 2012 13:39:08 -0500"  >From capacity planning point of view, &lt;br/&gt;
&lt;br/&gt;
if customer upgrade to 20 and later plan to create views, &lt;br/&gt;
&lt;br/&gt;
by default, views would get created on the same partition as the database files. &lt;br/&gt;
&lt;br/&gt;
There is no separate rest_api to setup path for just indexes. </comment>
                    <comment id="38038" author="alkondratenko" created="Fri, 7 Sep 2012 13:52:21 -0500"  >I see _no point at all_ having _separate_ API for setting up just index path.&lt;br/&gt;
&lt;br/&gt;
We _do_ have API to setup separate index path.&lt;br/&gt;
&lt;br/&gt;
The only thing we dont have is api to set up per-index path.&lt;br/&gt;
</comment>
                    <comment id="38039" author="alkondratenko" created="Fri, 7 Sep 2012 13:53:58 -0500"  >And my performance recommendation would be:&lt;br/&gt;
&lt;br/&gt;
instead of have disk spindle per index, just raid 0 all spindles you have. That should be as good as or even better than spindle per index.&lt;br/&gt;
</comment>
                    <comment id="38040" author="karan" created="Fri, 7 Sep 2012 14:05:42 -0500"  >Sure. I can create a separate ticket to test out raid 0 and see if it provides better performance. </comment>
                    <comment id="38044" author="karan" created="Fri, 7 Sep 2012 14:13:02 -0500"  >Will try to convey this in a better way:- &lt;br/&gt;
&lt;br/&gt;
I can configure the data_path as following&lt;br/&gt;
curl -d path=/data &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt; &lt;br/&gt;
&lt;br/&gt;
BUT, I cant configure the index_path as following (not per index, but for all indexes)&lt;br/&gt;
curl -d index_path=/var/tmp/test &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt; &lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
curl -vvv -d &amp;quot;index_path=/data&amp;quot; &lt;a href=&quot;http://Administrator:&quot;&gt;http://Administrator:&lt;/a&gt;&lt;a href=&apos;mailto:password@localhost&apos;&gt;password@localhost&lt;/a&gt;:8091/nodes/self/controller/settings&lt;br/&gt;
* About to connect() to localhost port 8091 (#0)&lt;br/&gt;
*   Trying ::1... Connection refused&lt;br/&gt;
*   Trying 127.0.0.1... connected&lt;br/&gt;
* Connected to localhost (127.0.0.1) port 8091 (#0)&lt;br/&gt;
* Server auth using Basic with user &amp;#39;Administrator&amp;#39;&lt;br/&gt;
&amp;gt; POST /nodes/self/controller/settings HTTP/1.1&lt;br/&gt;
&amp;gt; Authorization: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==&lt;br/&gt;
&amp;gt; User-Agent: curl/7.19.7 (x86_64-unknown-linux-gnu) libcurl/7.19.7 NSS/3.12.7.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2&lt;br/&gt;
&amp;gt; Host: localhost:8091&lt;br/&gt;
&amp;gt; Accept: */*&lt;br/&gt;
&amp;gt; Content-Length: 16&lt;br/&gt;
&amp;gt; Content-Type: application/x-www-form-urlencoded&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;lt; HTTP/1.1 400 Bad Request&lt;br/&gt;
&amp;lt; Server: Couchbase Server 2.0.0-1695-rel-enterprise&lt;br/&gt;
&amp;lt; Pragma: no-cache&lt;br/&gt;
&amp;lt; Date: Fri, 07 Sep 2012 19:10:36 GMT&lt;br/&gt;
&amp;lt; Content-Type: application/json&lt;br/&gt;
&amp;lt; Content-Length: 47&lt;br/&gt;
&amp;lt; Cache-Control: no-cache&lt;br/&gt;
&amp;lt; &lt;br/&gt;
* Connection #0 to host localhost left intact&lt;br/&gt;
* Closing connection #0&lt;br/&gt;
[&amp;quot;The database or index path cannot be empty.&amp;quot;]&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
The only way for me to configure index_path is by specfying both index_path and data_path&lt;br/&gt;
as following:-&lt;br/&gt;
curl -d &amp;quot;path=/data&amp;amp;index_path=/indexes&amp;quot; &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The above command nukes the bucket and looses deletes all the data. &lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="38267" author="karan" created="Mon, 10 Sep 2012 15:11:28 -0500"  >Well here, I am not trying to point out a performance issue. I am trying to point out a functional bug. &lt;br/&gt;
&lt;br/&gt;
I will take this offline with Alk</comment>
                    <comment id="39325" author="farshid" created="Wed, 19 Sep 2012 16:13:06 -0500"  >Karan,&lt;br/&gt;
Any updates ?&lt;br/&gt;
&lt;br/&gt;
do you need to discuss this with Dipti ?</comment>
                    <comment id="39575" author="alkondratenko" created="Tue, 25 Sep 2012 05:38:50 -0500"  >Looks like simply implementing new API or extending old in some way is the way to go here.</comment>
                    <comment id="40660" author="farshid" created="Mon, 8 Oct 2012 14:40:11 -0500"  >&lt;a href=&quot;http://review.membase.org/#/c/21425/&quot;&gt;http://review.membase.org/#/c/21425/&lt;/a&gt;</comment>
                    <comment id="40816" author="andreibaranouski" created="Tue, 9 Oct 2012 11:53:51 -0500"  >build 1820&lt;br/&gt;
&lt;br/&gt;
verification steps:&lt;br/&gt;
1. 1 node with default bucket and 1 item in it&lt;br/&gt;
2. create 1 view&lt;br/&gt;
3. change index path&lt;br/&gt;
curl --user Administrator:password -d index_path=/tmp/bbbbb/ &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt;&lt;br/&gt;
observation: view works after indexing, data index location was changed&lt;br/&gt;
4. change index path in second time&lt;br/&gt;
curl --user Administrator:password -d index_path=/tmp/aaaa/ &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt;&lt;br/&gt;
observation: view works after indexing, data index location was changed on new&lt;br/&gt;
5. change data path&lt;br/&gt;
curl --user Administrator:password -d path=/tmp/data_folder/ &lt;a href=&quot;http://localhost:8091/nodes/self/controller/settings&quot;&gt;http://localhost:8091/nodes/self/controller/settings&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
result: view is left on UI for some time but with error on request  {&amp;quot;error&amp;quot;:&amp;quot;not_found&amp;quot;,&amp;quot;reason&amp;quot;:&amp;quot;Design document _design/dev_a not found&amp;quot;}&lt;br/&gt;
after a couple minutes  ddoc/view is deleted from ui ( browser cash was expired)</comment>
                    <comment id="40817" author="alkondratenko" created="Tue, 9 Oct 2012 11:55:43 -0500"  >Andrei so ?&lt;br/&gt;
&lt;br/&gt;
BTW changing data path after the fact is a bad idea. We don&amp;#39;t necessarily handle it well.</comment>
                    <comment id="42652" author="kzeller" created="Fri, 26 Oct 2012 18:05:15 -0500"  >In RN: This enables users to change the disk location of an index without destroying &lt;br/&gt;
persisted data. You can now set index_path and it will delete an existing index only &lt;br/&gt;
and create a new disk location for use.</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>Sat, 25 Aug 2012 18:53:37 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>4172</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>