<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:22:18 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>[DRIVERS-759] Drivers may defer checking if a deployment supports sessions until the session&apos;s first operation</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-759</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;Previously, the sessions specification required that &lt;tt&gt;MongoClient.startSession&lt;/tt&gt; report an error if the deployment does not support sessions.&lt;/p&gt;

&lt;p&gt;The spec has now been amended to permit drivers to defer checking for sessions support and reporting that error until the first time the session is used for an operation.&lt;/p&gt;

&lt;p&gt;Reporting this error from &lt;tt&gt;startSession&lt;/tt&gt; is still permitted, so drivers may choose to not change anything.&lt;/p&gt;

&lt;p&gt;See changes:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/commit/5efe2a1d4c7483920fbb11613652416acfb88ce7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/5efe2a1d4c7483920fbb11613652416acfb88ce7&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The rationale behind this change:&lt;/p&gt;

&lt;p&gt;Determining if a deployment supports sessions requires SDAM to have been started. However, some drivers lazily start SDAM the first time a client is used for an operation. If a user creates a client and then immediately starts a session, then &lt;tt&gt;startSession&lt;/tt&gt; would have to perform I/O in order to check for support.&#160;For drivers with asynchronous APIs, this means that &lt;tt&gt;startSession&lt;/tt&gt;&#160;would have to be an asynchronous method to comply with the spec. This is not ideal; the API becomes unnecessarily clunky and adds the overhead of a promise every time it is used, even though in the majority of cases &lt;tt&gt;startSession&lt;/tt&gt; will require no I/O.&lt;/p&gt;

&lt;p&gt;Allowing the error to be reported later on when the session is used for an operation means that &lt;tt&gt;startSession&lt;/tt&gt; can be implemented in a way that never performs I/O.&lt;/p&gt;</description>
                <environment></environment>
        <key id="976279">DRIVERS-759</key>
            <summary>Drivers may defer checking if a deployment supports sessions until the session&apos;s first operation</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="13453" iconUrl="https://jira.mongodb.org/images/icons/status_generic.gif" description="">Implementing</status>
                    <statusCategory id="4" key="indeterminate" colorName="inprogress"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="kaitlin.mahar@mongodb.com">Kaitlin Mahar</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Oct 2019 17:52:47 +0000</created>
                <updated>Mon, 23 Jan 2023 20:49:22 +0000</updated>
                                                                                    <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="976319">CDRIVER-3407</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="976324">CXX-1858</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="976332">PHPC-1469</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2055184">DRIVERS-2337</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2241042">DRIVERS-2530</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-3407'>CDRIVER-3407</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-1858'>CXX-1858</a>
    </td>
    <td>Blocked</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPC-1469'>PHPC-1469</a>
    </td>
    <td>Blocked</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-647'>SWIFT-647</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.0.0-rc0</td>
  </tr>
</table>]]></customfieldvalue>


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