<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:46:54 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-4001] SRV and TXT DNS Failures - Duplicated DNS Response Breaks Subsequent DNS Response Read</title>
                <link>https://jira.mongodb.org/browse/CSHARP-4001</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary &lt;/h4&gt;
&lt;p&gt;This issue only affects SRV and TXT lookups (mongodb+srv:// connection strings) in environments where DNS servers are incorrectly&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/help_16.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; sending duplicate DNS responses for a single DNS request (Azure AKS in this reproduction).&lt;/p&gt;

&lt;p&gt;As a result, SRV lookups will &quot;fail&quot; in the driver, leading to a server selection timeout with an empty Servers [] list.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Pleaseprovidetheversionofthedriver.Ifapplicable%2CpleaseprovidetheMongoDBserverversionandtopology%28standalone%2Creplicaset%2Corshardedcluster%29.&quot;&gt;&lt;/a&gt;Please provide the version of the driver. If applicable, please provide the MongoDB server version and topology (standalone, replica set, or sharded cluster).&lt;/h4&gt;

&lt;p&gt;MongoDB.Bson: 2.14.1&lt;br/&gt;
MongoDB.Driver: 2.14.1&lt;br/&gt;
MongoDB.Driver.Core: 2.14.1&lt;br/&gt;
DnsClient: 1.4.0 (also tested 1.5.0)&lt;/p&gt;

&lt;p&gt;MongoDB Atlas 4.4.10 - M2 Replica Set&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;HowtoReproduce&quot;&gt;&lt;/a&gt;How to Reproduce&lt;/h4&gt;
&lt;p&gt;Deploy a C# dotnet application to an environment with a propensity for sending repeated/duplicated DNS responses to a single query.  In this reproduction, we used Azure&apos;s AKS w/ CoreDNS (default) and k8s 1.21.&lt;br/&gt;
Container tests were built from both Ubuntu 18.04 and Ubuntu 20.04 with .NET 5.0.&lt;br/&gt;
Connect to the MongoDB deployment using mongodb+srv connection string.  Repeat the connection attempts until DNS retransmissions are witnessed in a tcpdump.  Expectation is a failure in SRV and/or TXT and followed by a server selection timeout.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;AdditionalBackground&quot;&gt;&lt;/a&gt;Additional Background&lt;/h4&gt;
&lt;p&gt;The DnsClient response appears to be holding the second copy of the first request in queue.  In this case, we are asking for TXT first followed by SRV, but the order of requests shouldn&apos;t matter as:&lt;br/&gt;
When the response for SRV is requested, the TXT (second response) is returned instead, leading to a DNS header mismatch warning in the DnsClient verbose logs.  When not testing DnsClient, it surfaces as a server selection timeout and no other details are logged by the MongoDB driver.&lt;/p&gt;

&lt;p&gt;I&apos;ve linked &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-3430&quot; title=&quot;DnsClient.NET failures in Kubernetes and WSL2&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-3430&quot;&gt;&lt;del&gt;CSHARP-3430&lt;/del&gt;&lt;/a&gt; where I believe the root issue was not resolved.  The exception was replaced with a warning, but the SRV to hosts list continues to fail.&lt;/p&gt;

&lt;p&gt;It&apos;s important to note that A and AAAA lookups in a similar environment do not cause issues.  As a workaround, you may use the mongodb:// connection string to avoid SRV and TXT lookups.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1954460">CSHARP-4001</key>
            <summary>SRV and TXT DNS Failures - Duplicated DNS Response Breaks Subsequent DNS Response Read</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="james.kovacs@mongodb.com">James Kovacs</assignee>
                                    <reporter username="jack.alder@mongodb.com">Jack Alder</reporter>
                        <labels>
                            <label>Kubernetes</label>
                    </labels>
                <created>Mon, 20 Dec 2021 19:07:35 +0000</created>
                <updated>Sat, 28 Oct 2023 11:47:23 +0000</updated>
                            <resolved>Mon, 31 Jan 2022 23:17:06 +0000</resolved>
                                                    <fixVersion>2.15.0</fixVersion>
                                                        <votes>6</votes>
                                    <watches>13</watches>
                                                                                                                <comments>
                            <comment id="4328079" author="james.kovacs" created="Tue, 1 Feb 2022 17:14:32 +0000"  >&lt;p&gt;This change will be included with 2.15.0.&lt;/p&gt;</comment>
                            <comment id="4328072" author="xgen-internal-githook" created="Tue, 1 Feb 2022 17:13:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;James Kovacs&apos;, &apos;email&apos;: &apos;jkovacs@post.harvard.edu&apos;, &apos;username&apos;: &apos;JamesKovacs&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4001&quot; title=&quot;SRV and TXT DNS Failures - Duplicated DNS Response Breaks Subsequent DNS Response Read&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4001&quot;&gt;&lt;del&gt;CSHARP-4001&lt;/del&gt;&lt;/a&gt;: Upgrade to DnsClient.NET 1.6.0, which includes the fix for duplicate DNS responses. (#725)&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 3a6dc880244f6b9b19b1a6558861bbfa6dd050be.&lt;br/&gt;
Branch: v2.14.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/b429f49300b4612b6a02338b5a849f16bb9137e1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/b429f49300b4612b6a02338b5a849f16bb9137e1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4326429" author="xgen-internal-githook" created="Mon, 31 Jan 2022 23:20:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;James Kovacs&apos;, &apos;email&apos;: &apos;jkovacs@post.harvard.edu&apos;, &apos;username&apos;: &apos;JamesKovacs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4001&quot; title=&quot;SRV and TXT DNS Failures - Duplicated DNS Response Breaks Subsequent DNS Response Read&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4001&quot;&gt;&lt;del&gt;CSHARP-4001&lt;/del&gt;&lt;/a&gt;: Upgrade to DnsClient.NET 1.6.0, which includes the fix for duplicate DNS responses. (#725)&lt;br/&gt;
Branch: v2.14.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/3a6dc880244f6b9b19b1a6558861bbfa6dd050be&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/3a6dc880244f6b9b19b1a6558861bbfa6dd050be&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4326386" author="xgen-internal-githook" created="Mon, 31 Jan 2022 23:06:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;James Kovacs&apos;, &apos;email&apos;: &apos;jkovacs@post.harvard.edu&apos;, &apos;username&apos;: &apos;JamesKovacs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4001&quot; title=&quot;SRV and TXT DNS Failures - Duplicated DNS Response Breaks Subsequent DNS Response Read&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4001&quot;&gt;&lt;del&gt;CSHARP-4001&lt;/del&gt;&lt;/a&gt;: Upgrade to DnsClient.NET 1.6.0, which includes the fix for duplicate DNS responses. (#725)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/4c67659af462289af104a126cd27eaf1e69345db&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/4c67659af462289af104a126cd27eaf1e69345db&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4275453" author="james.kovacs" created="Wed, 5 Jan 2022 01:59:55 +0000"  >&lt;p&gt;The root cause is &lt;a href=&quot;https://github.com/MichaCo/DnsClient.NET/issues/140&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;issue #140&lt;/a&gt; in DnsClient.NET, which I just reported along with a complete repro. Moving this ticket to blocked while waiting on a fix from DnsClient.NET.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1627671">CSHARP-3430</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="351784" name="test-broken.pcap" size="1816" author="jack.alder@mongodb.com" created="Mon, 20 Dec 2021 19:26:32 +0000"/>
                            <attachment id="351783" name="test-working.pcap" size="110527" author="jack.alder@mongodb.com" created="Mon, 20 Dec 2021 19:26:32 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000zgBjuQAE, 5002K00000ocNDpQAM, 5002K000011Be4lQAC, 5002K000011D1jcQAC, 5002K000011EnHHQA0, 5002K000011hkGxQAI, 5002K0000130ZTBQA2]]]></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|hzygkf:</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>