<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:17:33 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>[SERVER-28239] Fix double ticket holder release in transport layer legacy during primary step down</title>
                <link>https://jira.mongodb.org/browse/SERVER-28239</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;During a primary step down, we call _closeConnection on all matching sessions.  This kicks those sessions out of sourceMessage, which causes them to explicitly call end(), which calls _closeConnection.  _closeConnection calls globalTicketHolder.release().&lt;/p&gt;

&lt;p&gt;This causes us to double release on primary step down, which causes us to increase the effective number of tickets in the system.&lt;/p&gt;

&lt;p&gt;This behavior is most noticeable when looking at the &apos;now open&apos; number of connections in the main init and listen thread, where the &apos;outof&apos; param stays steady at the desired number of connections, but the &apos;available&apos; amount increases. This causes us to report negative numbers of open connections.&lt;/p&gt;</description>
                <environment></environment>
        <key id="362326">SERVER-28239</key>
            <summary>Fix double ticket holder release in transport layer legacy during primary step down</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</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="mira.carey@mongodb.com">Mira Carey</assignee>
                                    <reporter username="mira.carey@mongodb.com">Mira Carey</reporter>
                        <labels>
                    </labels>
                <created>Tue, 7 Mar 2017 22:57:41 +0000</created>
                <updated>Mon, 25 Jun 2018 09:57:13 +0000</updated>
                            <resolved>Wed, 8 Mar 2017 19:27:26 +0000</resolved>
                                    <version>3.4.0</version>
                    <version>3.5.1</version>
                                    <fixVersion>3.4.3</fixVersion>
                    <fixVersion>3.5.5</fixVersion>
                                    <component>Networking</component>
                                        <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="1519389" author="xgen-internal-githook" created="Wed, 8 Mar 2017 21:20:54 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28239&quot; title=&quot;Fix double ticket holder release in transport layer legacy during primary step down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28239&quot;&gt;&lt;del&gt;SERVER-28239&lt;/del&gt;&lt;/a&gt; Disabling transport layer legacy test&lt;/p&gt;

&lt;p&gt;Disabling test until we can allocate port numbers safely for unit tests&lt;/p&gt;

&lt;p&gt;(cherry picked from commit f8f26d50a9a14e7d269f878e239991d73ff4864a)&lt;br/&gt;
Branch: v3.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6ce1c2d27b8f372748968d973eebbc78194d9bb1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6ce1c2d27b8f372748968d973eebbc78194d9bb1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1519388" author="xgen-internal-githook" created="Wed, 8 Mar 2017 21:20:53 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28239&quot; title=&quot;Fix double ticket holder release in transport layer legacy during primary step down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28239&quot;&gt;&lt;del&gt;SERVER-28239&lt;/del&gt;&lt;/a&gt; fix double close in ticket holder&lt;/p&gt;

&lt;p&gt;The legacy transport layer allowed end() to be called multiple times on&lt;br/&gt;
the same session, which would incorrectly double close + double&lt;br/&gt;
increment the ticket holder.  This occured during primary step down, as&lt;br/&gt;
endAllSessions was called (which called end()) and then the owning&lt;br/&gt;
threads called end() as they finished.&lt;/p&gt;

&lt;p&gt;Fix involves a mutex per connection and a check for _closed in&lt;br/&gt;
closeConnection.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit b1ec4cfbb535ddc7ee741a76132fee67a3ab1d1e)&lt;br/&gt;
Branch: v3.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5043299e1578e1248c35ba0a83be0c841a16fa92&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5043299e1578e1248c35ba0a83be0c841a16fa92&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1519301" author="xgen-internal-githook" created="Wed, 8 Mar 2017 19:46:35 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28239&quot; title=&quot;Fix double ticket holder release in transport layer legacy during primary step down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28239&quot;&gt;&lt;del&gt;SERVER-28239&lt;/del&gt;&lt;/a&gt; Disabling transport layer legacy test&lt;/p&gt;

&lt;p&gt;Disabling test until we can allocate port numbers safely for unit tests&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f8f26d50a9a14e7d269f878e239991d73ff4864a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f8f26d50a9a14e7d269f878e239991d73ff4864a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1519269" author="xgen-internal-githook" created="Wed, 8 Mar 2017 19:25:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28239&quot; title=&quot;Fix double ticket holder release in transport layer legacy during primary step down&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28239&quot;&gt;&lt;del&gt;SERVER-28239&lt;/del&gt;&lt;/a&gt; fix double close in ticket holder&lt;/p&gt;

&lt;p&gt;The legacy transport layer allowed end() to be called multiple times on&lt;br/&gt;
the same session, which would incorrectly double close + double&lt;br/&gt;
increment the ticket holder.  This occured during primary step down, as&lt;br/&gt;
endAllSessions was called (which called end()) and then the owning&lt;br/&gt;
threads called end() as they finished.&lt;/p&gt;

&lt;p&gt;Fix involves a mutex per connection and a check for _closed in&lt;br/&gt;
closeConnection.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b1ec4cfbb535ddc7ee741a76132fee67a3ab1d1e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b1ec4cfbb535ddc7ee741a76132fee67a3ab1d1e&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="408240">SERVER-30311</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="14340"><![CDATA[v3.4]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000b9ed9IAA]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 8 Mar 2017 19:25:27 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        6 years, 49 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></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_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            6 years, 49 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>mira.carey@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|ht3ts7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hswcmf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1638">Platforms 2017-03-27</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hs4ex3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>