<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:37:55 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>[GODRIVER-2145] Connection pool improvements</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2145</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #fafbfc;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #fafbfc;&quot;&gt;
&lt;h3&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Address unnecessary connection pool clears and connection churn on operations with a small context timeout.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;a name=&quot;Whoistheaffectedenduser%3F&quot;&gt;&lt;/a&gt;Who is the affected end user?&lt;/h4&gt;

&lt;p&gt;Customers and users setting small context timeouts on operations.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Howdoesthisaffecttheenduser%3F&quot;&gt;&lt;/a&gt;How does this affect the end user?&lt;/h4&gt;

&lt;p&gt;The Go driver can enter a state where all connections in a connection pool are perished (usually caused by a connection pool clear due to encountering a timeout during new connection establishment) and almost no new connections can be established in-line with an operation due to the low operation timeout. Customers using the Go driver may encounter application outages as a result of the Go driver&#8217;s inability to recover from this state.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Howlikelyisitthatthisproblemorusecasewilloccur%3F&quot;&gt;&lt;/a&gt;How likely is it that this problem or use case will occur?&lt;/h4&gt;

&lt;p&gt;There are known customers experiencing this issue. It is likely if users are setting a small context timeout in operations.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Iftheproblemdoesoccur%2Cwhataretheconsequencesandhowseverearethey%3F&quot;&gt;&lt;/a&gt;If the problem does occur, what are the consequences and how severe are they?&lt;/h4&gt;

&lt;p&gt;A problem can result in an outage.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisissueurgent%3F&quot;&gt;&lt;/a&gt;Is this issue urgent?&lt;/h4&gt;

&lt;p&gt;Yes, there are known customers that cannot migrate workloads to the Go driver due to this issue.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisticketrequiredbyadownstreamteam%3F&quot;&gt;&lt;/a&gt;Is this ticket required by a downstream team?&lt;/h4&gt;

&lt;p&gt;No&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisticketonlyfortests%3F&quot;&gt;&lt;/a&gt;Is this ticket only for tests?&lt;/h4&gt;

&lt;p&gt;No&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;CastofCharacters&quot;&gt;&lt;/a&gt;Cast of Characters&lt;/h3&gt;

&lt;p&gt;Engineering Lead:&#160;Matt Dale&lt;br/&gt;
 Document Author: Matt Dale&lt;br/&gt;
 POCers:&lt;br/&gt;
 Product Owner:&lt;br/&gt;
 Program Manager:&lt;br/&gt;
 Stakeholders:&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Channels%26Docs&quot;&gt;&lt;/a&gt;Channels &amp;amp; Docs&lt;/h3&gt;
&lt;h4&gt;&lt;a name=&quot;TechnicalDesignDocumenthttps%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F12Hzi5KozxJ1YSW0m38F30rPlp0aIbUkNC3aOvgVZLVc%2Fedit&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://docs.google.com/document/d/12Hzi5KozxJ1YSW0m38F30rPlp0aIbUkNC3aOvgVZLVc/edit&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Technical Design Document&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="1866211">GODRIVER-2145</key>
            <summary>Connection pool improvements</summary>
                <type id="11" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14707&amp;avatarType=issuetype">Epic</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="13201">Fixed</resolution>
                                        <assignee username="matt.dale@mongodb.com">Matt Dale</assignee>
                                    <reporter username="kevin.albertson@mongodb.com">Kevin Albertson</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Sep 2021 14:34:42 +0000</created>
                <updated>Sat, 28 Oct 2023 11:37:43 +0000</updated>
                            <resolved>Fri, 5 Nov 2021 13:29:41 +0000</resolved>
                                                    <fixVersion>1.8.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                        <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                    <customfield id="customfield_21556" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Calendar Time</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>16 weeks, 4 days</customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_20965" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Cost Threshold %</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>150.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_20963" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Cost to Date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>12.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_13653" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Detailed Project Statuses</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Engineer: Matt&lt;/p&gt;

&lt;p&gt;Summary: Address unnecessary connection pool clears and connection churn on operations with a small context timeout&lt;/p&gt;

&lt;p&gt;2021-11-02: Updated target date to 2021-11-05&lt;/p&gt;

&lt;p&gt;Status update:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Functional changes merged.&lt;/li&gt;
	&lt;li&gt;Tesla has been informed of the changes, and encouraged to run a load test.&lt;/li&gt;
	&lt;li&gt;Remaining work is technical debt.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Rationale for delays:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;No rationale.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Risks:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;None.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;

&lt;p&gt;2021-10-19: Updated target date to 2021-10-29&lt;/p&gt;

&lt;p&gt;Status update:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Connection pool rewrite is waiting on final review from Kevin and resolving a problem with a stress test using up all ports on some hosts.&lt;/li&gt;
	&lt;li&gt;Put up a review for reducing connection churn by erroring early if the operation timeout is less than the minimum tracked RTT.&lt;/li&gt;
	&lt;li&gt;Next: planning to ask Tesla to test a release candidate&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Rationale for delays:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Surprising test failure with stress tests using up all ports.&lt;/li&gt;
	&lt;li&gt;Longer review time from reviewers with competing priorities.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Risks:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;None.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;

&lt;p&gt;2021-10-05: Updated target date to 2021-10-22.&lt;/p&gt;

&lt;p&gt;Status update:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Connection pool creating connections in the background still in review. Meeting to discuss it in person next week.&lt;/li&gt;
	&lt;li&gt;Stress tests now in review.&lt;/li&gt;
	&lt;li&gt;Investigated and scoped a solution to avoiding connection churn when little time remains on an operation context.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Rationale for delays:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Four days of PTO.&lt;/li&gt;
	&lt;li&gt;Review of connection pool redesign taking longer than anticipated.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Risks:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;None.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;

&lt;p&gt;2021-09-21: No update to target date.&lt;/p&gt;

&lt;p&gt;Status update:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Connection pool creating connections in the background in review.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Rationale for delays:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;No delays.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Risks:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;None. Still on track 2021-10-15 target date.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;

&lt;p&gt;2021-09-07: Setting target date to 2021-10-15&lt;/p&gt;

&lt;p&gt;Rationale: Estimated remaining work totals 6 weeks:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2038&quot; title=&quot;Use &amp;quot;ConnectionTimeout&amp;quot; for creating all new connections and background connection creation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2038&quot;&gt;&lt;del&gt;GODRIVER-2038&lt;/del&gt;&lt;/a&gt;: 2 weeks&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2065&quot; title=&quot;Error early if insufficient time remains for socket operation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2065&quot;&gt;&lt;del&gt;GODRIVER-2065&lt;/del&gt;&lt;/a&gt;: 3 weeks. This is a rough estimate. There is no prototype yet.&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2078&quot; title=&quot;Stress test Go driver connections during Evergreen runs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2078&quot;&gt;&lt;del&gt;GODRIVER-2078&lt;/del&gt;&lt;/a&gt;: 1 week&lt;/li&gt;
&lt;/ul&gt;
</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_14262" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 5 Nov 2021 00:00:00 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10860" key="com.pyxis.greenhopper.jira:gh-epic-color">
                        <customfieldname>Epic Colour</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ghx-label-1</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10858" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Connection pool improvements</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10859" key="com.pyxis.greenhopper.jira:gh-epic-status">
                        <customfieldname>Epic Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10642"><![CDATA[Done]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_20964" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Final Cost Estimate</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>12.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzk8mf:</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_10856" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Scope Cost Estimate</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14261" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 12 Jul 2021 00:00:00 +0000</customfieldvalue>

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