<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:38:57 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-1200] Support cancellation of operations once network I/O has begun</title>
                <link>https://jira.mongodb.org/browse/CSHARP-1200</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;All our operations support cancellation via a CancellationToken.&lt;/p&gt;

&lt;p&gt;However, once an operation begins sending or receiving a message over the network we no longer support cancellation until the network I/O completes. It is likely that callers would expect a cancellation request to interrupt the pending network I/O.&lt;/p&gt;

&lt;p&gt;The reason we don&apos;t support cancellation once network I/O has begun is that we don&apos;t want to leave the connection in a damaged state, such as with a half written or half read message. While we don&apos;t yet support pipelining (sharing the same connection among multiple tasks), any future support for pipelining would depend on tasks sharing the connection never leaving the connection in a damaged state.&lt;/p&gt;

&lt;p&gt;So any implementation of this ticket would have to ensure that cancelling an operation is done in a way that doesn&apos;t damage the connection.&lt;/p&gt;</description>
                <environment></environment>
        <key id="191012">CSHARP-1200</key>
            <summary>Support cancellation of operations once network I/O has begun</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="robert@mongodb.com">Robert Stam</reporter>
                        <labels>
                    </labels>
                <created>Fri, 20 Mar 2015 19:53:59 +0000</created>
                <updated>Thu, 31 Mar 2022 00:16:44 +0000</updated>
                                            <version>2.0</version>
                                                    <component>Connectivity</component>
                                        <votes>1</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1791233" author="alexvy86" created="Wed, 31 Jan 2018 22:15:55 +0000"  >&lt;p&gt;Just to add something for discussion when this gets implemented (which I assume probably needs full support for cancellation tokens in the underlying .NET &lt;tt&gt;NetworkStream&lt;/tt&gt; class), in relation to Robert Stam&apos;s comments in &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-1983&quot; title=&quot;Count operation ignored CancellationToken&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-1983&quot;&gt;&lt;del&gt;CSHARP-1983&lt;/del&gt;&lt;/a&gt;. I understand that cancelling the operation on the client while the server keeps doing work is not ideal, but in my case I ran into a scenario where sometimes the server seems to not receive the request at all, yet the client still hangs and ignores timeouts, until 15 minutes later when the socket times out (I&apos;m not sure where those 15 minutes come from) and an exception is thrown. I can&apos;t figure out what exactly happens in the network to cause this scenario, and it&apos;s probably less common that just wanting to restrict the amount of time a running operation takes, but I thought it could be part of the discussion.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="382432">CSHARP-1983</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                    <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000eiY3AQAU]]]></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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hs7bvz:</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>