<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:37:17 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-1856] Load Balancer Support</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-1856</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-color: #ccc;border-style: dashed;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: dashed;border-bottom-color: #ccc;background-color: #239eb0;&quot;&gt;&lt;b&gt;Epic Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;p&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;br/&gt;
Support mongos instances behind a load balancer. This would require at least cursor / socket affinity and transaction / socket affinity so getMore and transactional operations always hit the same mongos instance.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="1609272">GODRIVER-1856</key>
            <summary>Load Balancer Support</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="divjot.arora@mongodb.com">Divjot Arora</assignee>
                                    <reporter username="esha.bhargava@mongodb.com">Esha Bhargava</reporter>
                        <labels>
                    </labels>
                <created>Tue, 2 Feb 2021 17:53:53 +0000</created>
                <updated>Sat, 28 Oct 2023 11:37:55 +0000</updated>
                            <resolved>Thu, 29 Apr 2021 17:53:14 +0000</resolved>
                                                    <fixVersion>1.6.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                    <customfield id="customfield_21556" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Calendar Time</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>12 weeks, 3 days</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(s): Divjot&lt;/p&gt;

&lt;p&gt;Summary: Support mongos instances behind a load balancer. This would require at least cursor / socket affinity and transaction / socket affinity so getMore and transactional operations always hit the same mongos instance.&lt;/p&gt;

&lt;p&gt;Cost in Eng Weeks: 4 Original | 7 To Date | 9 Est Final&lt;/p&gt;

&lt;p&gt;2021-04-20: Maintaining target end date of 2021-04-30&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Waiting for reviews on first testing PR (small refactor of events storage)&lt;/li&gt;
	&lt;li&gt;Second testing PR will contain unified test runner changes and will be up for review soon&lt;/li&gt;
	&lt;li&gt;Divjot is also working on&#160;DRIVERS-1655&#160;which is needed to ensure that drivers unpin on all abortTransaction attempts, successful and failed&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;

&lt;p&gt;2021-04-06: Updated target end date to 2021-04-30&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Currently working on updating connection pinning for transactions spec tests&lt;/li&gt;
	&lt;li&gt;DRIVERS-1638 probably needs to be done before updating the spec tests to make sure drivers behave correctly for existing server pinning behavior before adding in connection pinning. Divjot is working with the review crew and Shane to figure it out&lt;/li&gt;
	&lt;li&gt;Once the above work is complete, Divjot will make the changes to the Go implementation&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;
&lt;p&gt;2021-03-23: Maintaining target end date of 2021-04-02&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The last two Go PRs are up! Also put up two spec PRs to add tests&lt;/li&gt;
	&lt;li&gt;There was some contention around one of the proposed test format changes so Divjot is going to be spending the next day or so working through that and will POC a separate approach in Go&lt;/li&gt;
	&lt;li&gt;The spec crew is considering moving forward with testing using the serverId local hack to avoid being blocked on server-side support, but Durran will be working on that so the Go implementation will be kinda blocked once the test format change is done&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;
&lt;p&gt;2021-03-09: Updated target end date to 2021-04-02&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Divjot currently has 3 PRs in code review. Future PRs are blocked on the existing ones. All of these should hopefully wrap up by 3/19&lt;/li&gt;
	&lt;li&gt;Divjot and Durran and working together on testing this project and there are a bunch of unknowns. Adding two weeks for syncing spec tests and reviewing the spec PR though this should not take 100% of Divjot&apos;s time&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;
&lt;p&gt;2021-02-23: Updated target end date to 2021-03-19&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Completed pinning transactions to a connection&lt;/li&gt;
	&lt;li&gt;Implemented the finalized SDAM behavior (no monitoring/RTT threads, publish a &quot;mocked&quot; set of pre-determined SDAM events)&lt;/li&gt;
	&lt;li&gt;Implemented new SDAM error handling behavior to only clear connections with matching server IDs when a pool is cleared&lt;/li&gt;
	&lt;li&gt;Included connection pool stats in wait queue timeout errors&lt;/li&gt;
	&lt;li&gt;Wrote a bunch of integration tests to test the features locally. There&apos;s no upstream service (e.g. mongos, serverless proxy) that currently supports being deployed behind a load balancer, so the scope of integration tests is unknown&lt;/li&gt;
	&lt;li&gt;Divjot will put up individual PRs for review next week. Adding two more weeks for reviews and testing&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&gt;
&lt;p&gt;2021-02-09: Initial target end date of 2021-03-05&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Worked on supporting a load balanced URI option, adding new LoadBalanced TopologyType and disabling monitoring routines for LB mode (this behavior might change based on discussions in the spec), command monitoring API updates to expose serverId in events and pin cursors to a connection last week&lt;/li&gt;
	&lt;li&gt;Currently working on pinning transactions to a connection which requires a big chunk of refactoring because otherwise it would create an import cycle, which isn&apos;t allowed in Go&lt;/li&gt;
	&lt;li&gt;Error handling is up next&lt;/li&gt;
&lt;/ul&gt;


&lt;hr /&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, 30 Apr 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-14</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10858" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Load Balancer Support</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_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY22Q2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hyedhb:</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_11150" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>SERVER fixVersion</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="20500"><![CDATA[5.0]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_14261" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 2 Feb 2021 00:00:00 +0000</customfieldvalue>

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