<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:30:21 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-32477] ASIOSession fails to gracefully teardown sockets</title>
                <link>https://jira.mongodb.org/browse/SERVER-32477</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;In the cleanup handler of &lt;tt&gt;ServiceStateMachine&lt;/tt&gt; we depend on socket teardown to occur as part of the destruction of a &lt;tt&gt;Session&lt;/tt&gt; instance, however &lt;tt&gt;ASIOSession&lt;/tt&gt; omits a dtor and leaves the job up to asio. Unfortunately, while this results in actually closing the socket, it does not do so gracefully, leaving the client side guessing what the current state is only to find a &lt;tt&gt;ECONNRESET&lt;/tt&gt; on subsequent attempts to write. &lt;tt&gt;ASIOSession&lt;/tt&gt; has most of the complete implementation for graceful shutdown in its &lt;tt&gt;shutdown&lt;/tt&gt; method (notably omitting an explicit call to close the sockets), and everything behaves as expected if that&apos;s called in the &lt;tt&gt;ASIOSession&lt;/tt&gt; dtor.&lt;/p&gt;</description>
                <environment></environment>
        <key id="476826">SERVER-32477</key>
            <summary>ASIOSession fails to gracefully teardown sockets</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="13201">Fixed</resolution>
                                        <assignee username="matt.broadstone@mongodb.com">Matt Broadstone</assignee>
                                    <reporter username="matt.broadstone@mongodb.com">Matt Broadstone</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 Dec 2017 21:10:07 +0000</created>
                <updated>Mon, 30 Oct 2023 23:09:40 +0000</updated>
                            <resolved>Wed, 3 Jan 2018 16:09:11 +0000</resolved>
                                    <version>3.6.0</version>
                    <version>3.6.1</version>
                                    <fixVersion>3.6.4</fixVersion>
                    <fixVersion>3.7.1</fixVersion>
                                    <component>Networking</component>
                                        <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="1856478" author="xgen-internal-githook" created="Thu, 5 Apr 2018 16:17:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;william.schultz@mongodb.com&apos;, &apos;name&apos;: &apos;William Schultz&apos;, &apos;username&apos;: &apos;will62794&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32477&quot; title=&quot;ASIOSession fails to gracefully teardown sockets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32477&quot;&gt;&lt;del&gt;SERVER-32477&lt;/del&gt;&lt;/a&gt; Fix lint&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/3128ca2531aef67fbfe7cd04c824a4df58f508f8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/3128ca2531aef67fbfe7cd04c824a4df58f508f8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1856392" author="xgen-internal-githook" created="Thu, 5 Apr 2018 15:43:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;jbreams@mongodb.com&apos;, &apos;name&apos;: &apos;Jonathan Reams&apos;, &apos;username&apos;: &apos;jbreams&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32477&quot; title=&quot;ASIOSession fails to gracefully teardown sockets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32477&quot;&gt;&lt;del&gt;SERVER-32477&lt;/del&gt;&lt;/a&gt; Fix logging and tests&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1d50738b604a637f1f7d896a17131d8be7b2aa23&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1d50738b604a637f1f7d896a17131d8be7b2aa23&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1856391" author="xgen-internal-githook" created="Thu, 5 Apr 2018 15:43:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;mbroadst@gmail.com&apos;, &apos;name&apos;: &apos;Matt Broadstone&apos;, &apos;username&apos;: &apos;mbroadst&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32477&quot; title=&quot;ASIOSession fails to gracefully teardown sockets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32477&quot;&gt;&lt;del&gt;SERVER-32477&lt;/del&gt;&lt;/a&gt; Gracefully shutdown sockets in ASIOSession&lt;/p&gt;

&lt;p&gt;We were depending on the dtor for the basic_stream_socket to&lt;br/&gt;
gracefully shutdown the socket on destruction, however this is&lt;br/&gt;
broken on OSX. Instead we need to explicitly shutdown the socket&lt;br/&gt;
(the asio docs indicate that this is the most &quot;portable&quot; solution).&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 4108212bffdad96a5be22e2fc71038f48d8740a4)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/11fabe4f8295da18f68aae8a877c38a48c1b5133&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/11fabe4f8295da18f68aae8a877c38a48c1b5133&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1763951" author="xgen-internal-githook" created="Wed, 3 Jan 2018 16:07:18 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Matt Broadstone&apos;, &apos;username&apos;: &apos;mbroadst&apos;, &apos;email&apos;: &apos;mbroadst@gmail.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32477&quot; title=&quot;ASIOSession fails to gracefully teardown sockets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32477&quot;&gt;&lt;del&gt;SERVER-32477&lt;/del&gt;&lt;/a&gt; Gracefully shutdown sockets in ASIOSession&lt;/p&gt;

&lt;p&gt;We were depending on the dtor for the basic_stream_socket to&lt;br/&gt;
gracefully shutdown the socket on destruction, however this is&lt;br/&gt;
broken on OSX. Instead we need to explicitly shutdown the socket&lt;br/&gt;
(the asio docs indicate that this is the most &quot;portable&quot; solution).&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/4108212bffdad96a5be22e2fc71038f48d8740a4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/4108212bffdad96a5be22e2fc71038f48d8740a4&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </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="15141"><![CDATA[v3.6]]></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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 3 Jan 2018 16:07:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 44 weeks, 6 days 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_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 44 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>matt.broadstone@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htmzxb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htek1z:</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="2092">Platforms 2018-01-15</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|htmm1r:</customfieldvalue>

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