<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:35:16 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-930] Implement base driver.Connection type</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-930</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;Create a new type, &lt;tt&gt;topology.connection&lt;/tt&gt; that implements a subset of the &lt;tt&gt;driver.Connection&lt;/tt&gt; type. This type is a combination of &lt;tt&gt;connection.pooledConnection&lt;/tt&gt; and &lt;tt&gt;connection.connection&lt;/tt&gt;. The &lt;tt&gt;topology.pool&lt;/tt&gt; type should deal directly with this type. There is no &lt;tt&gt;Close&lt;/tt&gt; method on &lt;tt&gt;topology.connection&lt;/tt&gt;, instead the &lt;tt&gt;pool.returnConnection&lt;/tt&gt; or &lt;tt&gt;pool.closeConnection&lt;/tt&gt; method should be used.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;This type is also responsible for handling wire message compression, as the &lt;tt&gt;connection.connection&lt;/tt&gt; type did.&lt;/del&gt; Since wire message compression requires knowledge of the command being run, this logic should be handled inside of the &lt;tt&gt;driver&lt;/tt&gt; package. This can likely be consolidated into the &lt;tt&gt;driver.OperationContext&lt;/tt&gt; type which can check for compression right after the command is appended onto the wire message.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;SDAM error handling should also be handled by this type.&#160;This is different from the previous implementation since error extraction occurs in the&#160;&lt;tt&gt;driver&lt;/tt&gt; package. We should directly inspect the wire message bytes to determine if there was a command error (including write concern errors) and update the server description and drain the&lt;/del&gt;&lt;br/&gt;
 &lt;del&gt;pool as required.&lt;/del&gt; The original design had SDAM error processing handled by the connection implementation, but this forces double decoding of wire messages, which can be expensive. Instead, we make a new interface in the &lt;tt&gt;driver&lt;/tt&gt; package called &lt;tt&gt;ErrorProcessor&lt;/tt&gt;. If a &lt;tt&gt;Server&lt;/tt&gt; implements &lt;tt&gt;ErrorProcessor&lt;/tt&gt; then it&apos;s &lt;tt&gt;ProcessError&lt;/tt&gt; method will be called with the error that comes from decoding the wire message.&lt;/p&gt;</description>
                <environment></environment>
        <key id="729859">GODRIVER-930</key>
            <summary>Implement base driver.Connection type</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="kris.brandow@mongodb.com">Kristofer Brandow</assignee>
                                    <reporter username="kris.brandow@mongodb.com">Kristofer Brandow</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 Apr 2019 19:48:42 +0000</created>
                <updated>Sat, 28 Oct 2023 11:39:00 +0000</updated>
                            <resolved>Fri, 26 Apr 2019 18:25:21 +0000</resolved>
                                                    <fixVersion>1.1.0</fixVersion>
                                    <component>Core API</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2226460" author="xgen-internal-githook" created="Fri, 26 Apr 2019 18:25:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kris Brandow&apos;, &apos;username&apos;: &apos;skriptble&apos;, &apos;email&apos;: &apos;kris@mongodb.com&apos;}
&lt;p&gt;Message: Implement base driver.Connection type&lt;/p&gt;

&lt;p&gt;Implements the topology.connection and topology.Connection types.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-930&quot; title=&quot;Implement base driver.Connection type&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-930&quot;&gt;&lt;del&gt;GODRIVER-930&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Change-Id: If3c133b754028b8e832aa198b285593f6f2efbfc&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/3e5f96beb2f539729f3f0c8dfb7c0e31170cf241&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/3e5f96beb2f539729f3f0c8dfb7c0e31170cf241&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2210566" author="kris.brandow" created="Fri, 12 Apr 2019 00:35:29 +0000"  >&lt;p&gt;Code Review:&#160;&lt;a href=&quot;https://review.gerrithub.io/c/mongodb/mongo-go-driver/+/450979&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.gerrithub.io/c/mongodb/mongo-go-driver/+/450979&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10020">
                    <name>Gantt Dependency</name>
                                            <outwardlinks description="has to be done before">
                                        <issuelink>
            <issuekey id="729851">GODRIVER-929</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="729862">GODRIVER-931</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="729864">GODRIVER-932</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="736735">GODRIVER-960</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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="10011"><![CDATA[Minor Change]]></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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>GODRIVER-617</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|huanvj:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>