<!-- 
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Sat May 25 12:47:07 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-4738/MB-4738.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-4738] compile ep-engine on windows with tcmalloc ( memory accoutning issues in windows when node is actively ejecting items when it reaches low watermark ( delta between mem_used and OS reported allocated memory up to 4 GB ))</title>
                <link>http://www.couchbase.com/issues/browse/MB-4738</link>
                <project id="10010" key="MB">Couchbase Server</project>
                        <description>this happens because memcached in windows is not using tcmalloc implementation and memcached process is not releasing the memory which was allocated before.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>windows 2008 64-bit&lt;br/&gt;
15 GB ram &lt;br/&gt;
8 B ram&lt;br/&gt;
</environment>
            <key id="16055">MB-4738</key>
            <summary>compile ep-engine on windows with tcmalloc ( memory accoutning issues in windows when node is actively ejecting items when it reaches low watermark ( delta between mem_used and OS reported allocated memory up to 4 GB ))</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</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="bcui">Bin Cui</assignee>
                                <reporter username="farshid">Farshid Ghods</reporter>
                        <labels>
                        <label>1.8.1-release-notes</label>
                    </labels>
                <created>Wed, 1 Feb 2012 10:57:50 -0600</created>
                <updated>Wed, 9 Jan 2013 22:59:09 -0600</updated>
                    <resolved>Fri, 17 Feb 2012 17:44:23 -0600</resolved>
                            <version>1.6.5.4</version>
                <version>1.7.1</version>
                <version>1.7.1.1</version>
                <version>1.7.2</version>
                <version>1.8.0</version>
                                <fixVersion>1.8.1</fixVersion>
                <fixVersion>1.8.2</fixVersion>
                                <component>bucket-engine</component>
                <component>couchbase-bucket</component>
                                <votes>0</votes>
                        <watches>5</watches>
                                                    <comments>
                    <comment id="24129" author="farshid" created="Sun, 5 Feb 2012 17:58:06 -0600"  >this happens when node has to eject items when it reaches the low and high water mark&lt;br/&gt;
&lt;br/&gt;
the mem_used reports 6 GB but OS reports that memcached.exe process is using 10GB .&lt;br/&gt;
&lt;br/&gt;
we dont have enough evidence that this happens during rebalancing but ejection and disk fetch increase the swap usage and memcached.exe memory usage.</comment>
                    <comment id="24130" author="farshid" created="Sun, 5 Feb 2012 17:59:29 -0600"  >Thuan has put this report together by running mcsoda load against 3 node cluster where each node has 15 GB ram and resident ratio drops from 70-&amp;gt;60%&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="24134" author="chiyoung" created="Sun, 5 Feb 2012 18:28:39 -0600"  >Our memory accounting stat &amp;quot;mem_used&amp;quot; is incremented or decremented within the constructor / deconstructor of Blob value class that are automatically invoked when memory is allocated or deallocated. Therefore, if &amp;quot;mem_used&amp;quot; stat shows 6GB while memcached resident memory is 10GB, this means that even if we explicitly release memory to the windows memory allocator, the allocator doesn&amp;#39;t use these freed memory areas. This is mostly caused by memory fragmentation issues on the windows default allocator.</comment>
                    <comment id="24471" author="bcui" created="Fri, 17 Feb 2012 17:44:23 -0600"  >Integrate tcmalloc with memcached and ep-engine on cygwin/mingw build environment. It will dramatically reduce the memory fragementation issue found on windows.</comment>
                    <comment id="24505" author="steve" created="Mon, 20 Feb 2012 12:13:38 -0600"  >Adding this here, because I know I&amp;#39;ll never be able to find this again in my webmail....&lt;br/&gt;
&lt;br/&gt;
&amp;gt; Trond,&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; I didn&amp;#39;t hear about this possibility before&lt;br/&gt;
&amp;gt; Regardless , Is that something I can do during the runtime or we have&lt;br/&gt;
&amp;gt; to recompile epengine with that option ?&lt;br/&gt;
&amp;gt; If you have the binary compiled with that option I can run some tests&lt;br/&gt;
&amp;gt; on it today to confirm standard malloc itself is sufficient&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&lt;br/&gt;
I believe all you need to do is to export two variables at runtime:&lt;br/&gt;
./ns_server/couchbase-server.sh.in:GLIBCPP_FORCE_NEW=1&lt;br/&gt;
./ns_server/couchbase-server.sh.in:export GLIBCPP_FORCE_NEW&lt;br/&gt;
./ns_server/couchbase-server.sh.in:GLIBCXX_FORCE_NEW=1&lt;br/&gt;
./ns_server/couchbase-server.sh.in:export GLIBCXX_FORCE_NEW&lt;br/&gt;
&lt;br/&gt;
Trond&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&amp;gt; Farshid&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; On Feb 17, 2012, at 11:32 PM, Trond Norbye &amp;lt;&lt;a href=&apos;mailto:trond.norbye@couchbase.com&apos;&gt;trond.norbye@couchbase.com&lt;/a&gt;&amp;gt; wrote:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt;&amp;gt; Did we ever try running the test with the standard malloc and using the FORCE_NEW flag? I&amp;#39;ve asked this question a number of times now, but I haven&amp;#39;t gotten an answer yet. Replacing the standard memory allocator with tcmalloc didn&amp;#39;t solve the problem itself, so it seemed that it root of the problem was the memory allocator inside the C++ layer.&lt;br/&gt;
&amp;gt;&amp;gt; &lt;br/&gt;
&amp;gt;&amp;gt; From the experiments we&amp;#39;ve had during the integration it didn&amp;#39;t feel that the windows support was that mature and well tested. It feels a bit &amp;quot;risky business&amp;quot; to me to give a version to a customer where we change such a central component on platform with so little testing. I would personally sleep way better at night using Microsofts memory allocator if it solves the problem.&lt;br/&gt;
&amp;gt;&amp;gt; &lt;br/&gt;
&amp;gt;&amp;gt; just my 0.5 nok&lt;br/&gt;
&amp;gt;&amp;gt; &lt;br/&gt;
&amp;gt;&amp;gt; trond</comment>
                    <comment id="25000" author="dipti" created="Tue, 20 Mar 2012 18:52:22 -0500"  >Memory accounting is required on 1.8.1</comment>
                    <comment id="25894" author="thuan" created="Tue, 17 Apr 2012 01:56:48 -0500"  >Integrated in github-ep-engine-2-0 #254 (See [&lt;a href=&quot;http://qa.hq.northscale.net/job/github-ep-engine-2-0/254/&quot;&gt;http://qa.hq.northscale.net/job/github-ep-engine-2-0/254/&lt;/a&gt;])&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Revert &amp;quot;&lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-4738&quot; title=&quot;compile ep-engine on windows with tcmalloc ( memory accoutning issues in windows when node is actively ejecting items when it reaches low watermark ( delta between mem_used and OS reported allocated memory up to 4 GB ))&quot;&gt;&lt;strike&gt;MB-4738&lt;/strike&gt;&lt;/a&gt; Have tcmalloc support for windows&amp;quot; (Revision bb54125fc68628f29dc4ced156cdf3d8729ef2ec)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result = SUCCESS&lt;br/&gt;
Bin Cui : &lt;br/&gt;
Files : &lt;br/&gt;
* win32/Makefile.mingw&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                    <attachment id="12208" name="mem-usage-issue-windows.pdf" size="417538" author="farshid" created="Sun, 5 Feb 2012 17:59:29 -0600" />
                    <attachment id="12209" name="report_memories_perf_on_windows_at_dgm.docx" size="396428" author="thuan" created="Sun, 5 Feb 2012 18:20:24 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                        <customfield id="customfield_10180" key="com.atlassian.jira.ext.charting:firstresponsedate">
                <customfieldname>Date of First Response</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Sun, 5 Feb 2012 18:28:39 -0600</customfieldvalue>

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