<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:04: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>[JAVA-5322] CSOT: Centralize setting maxTimeMS within CommandMessage</title>
                <link>https://jira.mongodb.org/browse/JAVA-5322</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;During the CSOT implementation in CSFLE, as referenced in &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4055&quot; title=&quot;CSOT: Client-side encryption&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4055&quot;&gt;JAVA-4055&lt;/a&gt;, we encountered challenges with resetting &lt;tt&gt;maxTimeMS&lt;/tt&gt; in &lt;tt&gt;CryptConnection&lt;/tt&gt; for commands that are already encrypted. This issue is primarily due to the use of &lt;tt&gt;RawBsonCommand&lt;/tt&gt; to enhance performance. The conversion of &lt;tt&gt;RawBsonCommand&lt;/tt&gt; back to &lt;tt&gt;BsonCommand&lt;/tt&gt; for adjusting &lt;tt&gt;maxTimeMS&lt;/tt&gt; is considered inefficient and suboptimal for performance.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Challenges:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;Performance:&lt;/b&gt; The reliance on &lt;tt&gt;RawBsonCommand&lt;/tt&gt; for performance reasons complicates the resetting of &lt;tt&gt;maxTimeMS&lt;/tt&gt; on encrypted commands.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Duplication of logic:&lt;/b&gt; Tailable cursors may use maxTimeMS as maxAwaitTimeMS when timeoutMS is specified, that requires a check for the cursor type in CryptConnection&#8212;a check that has already been performed in the Operation layer. This results in duplicative logic for determining cursor type and setting maxTimeMS in both layers. However, the redundancy is minimal.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Proposed Solution:&lt;/b&gt; Move the setting of maxTimeMs to the centralized lowest level, specifically to CommandMessage.&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2570604">JAVA-5322</key>
            <summary>CSOT: Centralize setting maxTimeMS within CommandMessage</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10049" iconUrl="https://jira.mongodb.org/images/icons/statuses/information.png" description="">Needs Triage</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="slav.babanin@mongodb.com">Slav Babanin</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Feb 2024 03:32:09 +0000</created>
                <updated>Thu, 8 Feb 2024 03:32:17 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                        <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26442"><![CDATA[Java Drivers]]></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>JAVA-3828</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY24Q3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i2u30k:</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>