<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:52:41 UTC 2024

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 append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[JAVA-610] Make DBCursor finalizer optional and disable it in all cases where there is no cursor maintained on the server</title>
                <link>https://jira.mongodb.org/browse/JAVA-610</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;Finalizers can have a negative affect on overall GC throughput.  DBApiLayer.Result has a finalize method which pushes the cursor onto a queue of dead cursors for later cleanup.  The problem is that driver users still pay the cost of of the finalizer in these cases:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;they are diligent about closing cursors&lt;/li&gt;
	&lt;li&gt;findOne, or any query with a negative batch size or other situation where there is no cursor maintained on the server to clean up.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;We can address this in two ways&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Add option to MongoOptions to allow driver users to disable the finalizer&lt;/li&gt;
	&lt;li&gt;Always disable the finalizer when there is no cursor maintained on the server (cursor == 0 in query response)&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
        <key id="45260">JAVA-610</key>
            <summary>Make DBCursor finalizer optional and disable it in all cases where there is no cursor maintained on the server</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="jeff.yemin@mongodb.com">Jeffrey Yemin</reporter>
                        <labels>
                    </labels>
                <created>Tue, 24 Jul 2012 19:04:25 +0000</created>
                <updated>Wed, 29 Aug 2012 20:08:04 +0000</updated>
                            <resolved>Tue, 31 Jul 2012 14:18:09 +0000</resolved>
                                    <version>2.6.5</version>
                    <version>2.7.3</version>
                    <version>2.8.0</version>
                                    <fixVersion>2.9.0</fixVersion>
                                    <component>Performance</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="158215" author="jeff.yemin" created="Wed, 29 Aug 2012 20:08:04 +0000"  >&lt;p&gt;Closing as part of 2.9.0 release process.&lt;/p&gt;</comment>
                            <comment id="149819" author="auto" created="Thu, 2 Aug 2012 12:21:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-08-01T11:52:58-07:00&apos;, u&apos;email&apos;: u&apos;jeff.yemin@10gen.com&apos;, u&apos;name&apos;: u&apos;Jeff Yemin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-610&quot; title=&quot;Make DBCursor finalizer optional and disable it in all cases where there is no cursor maintained on the server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-610&quot;&gt;&lt;del&gt;JAVA-610&lt;/del&gt;&lt;/a&gt;: only start cursor clean thread if cursor finalizer is enabled&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/d41c197e1fe709ee98f8cbedd9d5991b22461f88&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/d41c197e1fe709ee98f8cbedd9d5991b22461f88&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="148147" author="auto" created="Fri, 27 Jul 2012 16:02:16 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-07-27T08:41:52-07:00&apos;, u&apos;email&apos;: u&apos;jeff.yemin@10gen.com&apos;, u&apos;name&apos;: u&apos;Jeff Yemin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-610&quot; title=&quot;Make DBCursor finalizer optional and disable it in all cases where there is no cursor maintained on the server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-610&quot;&gt;&lt;del&gt;JAVA-610&lt;/del&gt;&lt;/a&gt;: Make DBCursor finalizer optional and disable it in all cases where there is no cursor maintained on the server&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/72ad520cdb238b276ad8162bac477b8ee9a41347&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/72ad520cdb238b276ad8162bac477b8ee9a41347&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="44068">JAVA-601</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrghlj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9789</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>