<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:48:09 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>[CSHARP-4409] Add missing MaxTimeMs to query options </title>
                <link>https://jira.mongodb.org/browse/CSHARP-4409</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;MongoDB supports server side timeout (MaxTimeMs) for nearly all queries.&lt;/p&gt;

&lt;p&gt;However, the corresponding configuration property is missing on certain option classes:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;BulkWriteOptions&lt;/li&gt;
	&lt;li&gt;DeleteOptions&lt;/li&gt;
	&lt;li&gt;InsertManyOptions&lt;/li&gt;
	&lt;li&gt;InsertOneOptions&lt;/li&gt;
	&lt;li&gt;ReplaceOptions&lt;/li&gt;
	&lt;li&gt;UpdateOptions&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;There might be other properties be missing on those commands.&lt;/p&gt;

&lt;p&gt;Please add the MaxTimeMs (and probably other missing properties) to the options.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2180747">CSHARP-4409</key>
            <summary>Add missing MaxTimeMs to query options </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="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="13203">Gone away</resolution>
                                        <assignee username="james.kovacs@mongodb.com">James Kovacs</assignee>
                                    <reporter username="meggima.github@outlook.com">Markus Eggimann</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Nov 2022 14:55:24 +0000</created>
                <updated>Fri, 27 Oct 2023 19:56:01 +0000</updated>
                            <resolved>Wed, 7 Dec 2022 12:00:48 +0000</resolved>
                                    <version>2.18.0</version>
                                                    <component>API</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="5036668" author="dbeng-pm-bot" created="Wed, 7 Dec 2022 12:00:49 +0000"  >&lt;p&gt;There hasn&apos;t been any recent activity on this ticket, so we&apos;re resolving it. Thanks for reaching out! Please feel free to comment on this if you&apos;re able to provide more information.&lt;/p&gt;</comment>
                            <comment id="5002510" author="james.kovacs" created="Wed, 23 Nov 2022 00:49:26 +0000"  >&lt;p&gt;Hi, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mongodb.com-account%40jean-richard.ch&quot; class=&quot;user-hover&quot; rel=&quot;mongodb.com-account@jean-richard.ch&quot;&gt;mongodb.com-account@jean-richard.ch&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-3393&quot; title=&quot;Client Side Operations Timeout&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-3393&quot;&gt;CSHARP-3393&lt;/a&gt; is a non-trivial amount of work based on our implementations in other driver languages. While we intend to implement support in all our drivers in the coming quarters, we don&apos;t have an availability estimate for the .NET/C# Driver yet.&lt;/p&gt;

&lt;p&gt;Using &lt;tt&gt;socketTimeoutMS&lt;/tt&gt; is definitely a potential workaround in the meantime. If you&apos;re running MongoDB 4.2 or later, the server supports socket liveness checking, which will terminate certain inflight operations when the remote client has hung up. See &lt;a href=&quot;https://www.mongodb.com/docs/manual/release-notes/4.2/#client-disconnection&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Client Disconnection in the 4.2 release notes&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-39150&quot; title=&quot;markKillOnClientDisconnect&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-39150&quot;&gt;&lt;del&gt;SERVER-39150&lt;/del&gt;&lt;/a&gt; for more information. This should help mitigate the cost of the retry as the original unresponsive long-running operation should be terminated automatically.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;br/&gt;
James&lt;/p&gt;</comment>
                            <comment id="4996497" author="JIRAUSER1271809" created="Mon, 21 Nov 2022 11:32:47 +0000"  >&lt;p&gt;Hi James,&lt;/p&gt;

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

&lt;p&gt;Thanks for your response. Do you have any idea as to when we can expect that feature? For us this is a serious problem in our current deployment. We currently have some operations that take longer than our clientside (socket) timeout. When that timeout expires we usually retry and this makes the DB even slower (basically we start a denial-of-service attack on our own db). Is there any way to work around this issue until the feature you mention is available?&lt;/p&gt;

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

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;Meinrad&lt;/p&gt;</comment>
                            <comment id="4984035" author="james.kovacs" created="Tue, 15 Nov 2022 17:03:12 +0000"  >&lt;p&gt;Hi, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=meggima.github%40outlook.com&quot; class=&quot;user-hover&quot; rel=&quot;meggima.github@outlook.com&quot;&gt;meggima.github@outlook.com&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Thank you for reaching out to us about this omission in our API. This is a known gap, which is tracked in &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-797&quot; title=&quot;Support maxTimeMS for write operations&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-797&quot;&gt;&lt;del&gt;DRIVERS-797&lt;/del&gt;&lt;/a&gt;. We appreciate the offer to assist with a PR and in general we would be accepting of such a PR. We have however decided to implement a more general mechanism called &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.rst&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Client Side Operation Timeout&lt;/a&gt; (AKA CSOT), which will utilize &lt;tt&gt;maxTimeMS&lt;/tt&gt; behind the scenes rather than exposing it directly to users.&lt;/p&gt;

&lt;p&gt;With CSOT, you specify the total operation time before your application needs a response. This timeout applies to all of the work done to execute the operation, including but not limited to server selection, connection checkout, and server-side execution. Behind the scenes, a calculated &lt;tt&gt;maxTimeMS&lt;/tt&gt; will be applied to operations based on the time remaining.&lt;/p&gt;

&lt;p&gt;CSOT has already been implemented in the Go (&lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-1885&quot; title=&quot;Client Side Operations Timeout&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-1885&quot;&gt;&lt;del&gt;GODRIVER-1885&lt;/del&gt;&lt;/a&gt;) and Python Drivers (&lt;a href=&quot;https://jira.mongodb.org/browse/PYTHON-2550&quot; title=&quot;Client Side Operations Timeout&quot; class=&quot;issue-link&quot; data-issue-key=&quot;PYTHON-2550&quot;&gt;&lt;del&gt;PYTHON-2550&lt;/del&gt;&lt;/a&gt;). It is being implemented in our other drivers in the coming months. The .NET/C# implementation of CSOT is tracked in &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-3393&quot; title=&quot;Client Side Operations Timeout&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-3393&quot;&gt;CSHARP-3393&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Please let us know if you have any questions.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;br/&gt;
James&lt;/p&gt;</comment>
                            <comment id="4970526" author="JIRAUSER1271779" created="Thu, 10 Nov 2022 14:55:55 +0000"  >&lt;p&gt;We would be willing to help with this. Would you accept a PR?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="1110146">DRIVERS-797</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1612586">CSHARP-3393</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i10e5k:</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>