<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:17:32 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>[CDRIVER-3256] SDAM &quot;changed&quot; events emitted even if descriptions don&apos;t change</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-3256</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;The &lt;a href=&quot;https://github.com/mongodb/specifications/blob/f3c2afa67eab04762f01819939d83bc4e0f37862/source/server-discovery-and-monitoring/server-discovery-and-monitoring-monitoring.rst#events&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;SDAM monitoring spec&lt;/a&gt; states that the ServerDescriptionChangedEvent must be emitted...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When the old server description is not equal to the new server description&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And similarly, the TopologyDescriptionChangedEvent must be emitted...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When the old topology description is not equal to the new topology description.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Though, it does not appear that we check if the previous and new server descriptions differ when &lt;a href=&quot;https://github.com/kevinAlbs/mongo-c-driver/blob/f34ff4aa6bc90c2f433be677b2b2f5fc74ff0ca6/src/libmongoc/src/mongoc/mongoc-topology-description.c#L1945&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;generating the events here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note the comparison for ServerDescription equality &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#server-description-equality&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;is described here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I&apos;ve validated that we incorrectly send events with the attached modification to example-client.c, which prints out two SDAM ServerDescriptionChanged events with equal isMaster replies, and example output in curr/prev.json of two equivalent isMaster replies that were printed.&lt;/p&gt;</description>
                <environment></environment>
        <key id="874230">CDRIVER-3256</key>
            <summary>SDAM &quot;changed&quot; events emitted even if descriptions don&apos;t change</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="kevin.albertson@mongodb.com">Kevin Albertson</assignee>
                                    <reporter username="kevin.albertson@mongodb.com">Kevin Albertson</reporter>
                        <labels>
                    </labels>
                <created>Wed, 24 Jul 2019 15:18:21 +0000</created>
                <updated>Sat, 28 Oct 2023 11:29:12 +0000</updated>
                            <resolved>Wed, 12 Feb 2020 21:44:44 +0000</resolved>
                                                    <fixVersion>1.17.0-beta</fixVersion>
                    <fixVersion>1.17.0</fixVersion>
                                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2875133" author="xgen-internal-githook" created="Wed, 12 Feb 2020 21:43:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;kevinAlbs&apos;, &apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3256&quot; title=&quot;SDAM &amp;quot;changed&amp;quot; events emitted even if descriptions don&amp;#39;t change&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3256&quot;&gt;&lt;del&gt;CDRIVER-3256&lt;/del&gt;&lt;/a&gt; omit duplicate SDAM changed events&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/7beadb0e4d8ac2e5d761b154f58b19e6d1c68cc9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/7beadb0e4d8ac2e5d761b154f58b19e6d1c68cc9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2724986" author="xgen-internal-githook" created="Tue, 14 Jan 2020 18:44:13 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2970&quot; title=&quot;Resync SDAM tests to only examine non-unknown server descriptions to determine incompatibility&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2970&quot;&gt;&lt;del&gt;CDRIVER-2970&lt;/del&gt;&lt;/a&gt; resync SDAM tests&lt;/p&gt;

&lt;p&gt;Excluding one SDAM monitoring test, which is waiting on &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3256&quot; title=&quot;SDAM &amp;quot;changed&amp;quot; events emitted even if descriptions don&amp;#39;t change&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3256&quot;&gt;&lt;del&gt;CDRIVER-3256&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/259b6148bd1087705aae01e3609dfcdb69253cbe&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/259b6148bd1087705aae01e3609dfcdb69253cbe&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2712114" author="kevin.albertson" created="Wed, 8 Jan 2020 16:07:47 +0000"  >&lt;p&gt;Note, libmongoc does not appear to have an implementation of the Server Description Equality matching (&lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#server-description-equality&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#server-description-equality&lt;/a&gt;), which makes me think we&apos;re also unnecessarily processing equal isMaster replies from non-single topologies. The &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#other-topologytypes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;SDAM spec&lt;/a&gt; says that when we&apos;re processing an isMaster reply for a non-single topology:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If the new server description is equal to the previous server description as defined in Server Description Equality, stop the processing.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;SPEC-1475 adds a spec test that for a single topology, repeated equal isMaster replies do not produce repeated server_description_changed or topology_description_changed events. Once this ticket is complete, sync that test as well (standalone_suppress_equal_description_changes.json). Perhaps also create a spec test for non-single topologies, since I don&apos;t believe standalone_suppress_equal_description_changes would have caught the issue that we were still processing equal isMaster on non-single topologies.&lt;/p&gt;</comment>
                            <comment id="2344432" author="xgen-internal-githook" created="Thu, 25 Jul 2019 19:01:14 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kaitlin Mahar&apos;, &apos;email&apos;: &apos;kaitlinmahar@gmail.com&apos;, &apos;username&apos;: &apos;kmahar&apos;}
&lt;p&gt;Message: add workaround for workaround for &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3256&quot; title=&quot;SDAM &amp;quot;changed&amp;quot; events emitted even if descriptions don&amp;#39;t change&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3256&quot;&gt;&lt;del&gt;CDRIVER-3256&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: SWIFT-374/pooled-mode-and-sessions&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-swift-driver/commit/123746dba8543d6755c1ebf74f518cba1386cfe4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-swift-driver/commit/123746dba8543d6755c1ebf74f518cba1386cfe4&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2342173" author="xgen-internal-githook" created="Wed, 24 Jul 2019 18:58:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kaitlin Mahar&apos;, &apos;email&apos;: &apos;kaitlinmahar@gmail.com&apos;, &apos;username&apos;: &apos;kmahar&apos;}
&lt;p&gt;Message: add workaround for workaround for &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3256&quot; title=&quot;SDAM &amp;quot;changed&amp;quot; events emitted even if descriptions don&amp;#39;t change&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3256&quot;&gt;&lt;del&gt;CDRIVER-3256&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: SWIFT-374/pooled-mode-and-sessions&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-swift-driver/commit/62cfb2734494c96f3537fdd4c859c1dd9bbbd76a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-swift-driver/commit/62cfb2734494c96f3537fdd4c859c1dd9bbbd76a&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1141474">CDRIVER-3527</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="225109" name="curr.json" size="1447" author="kevin.albertson@mongodb.com" created="Wed, 24 Jul 2019 15:19:01 +0000"/>
                            <attachment id="225107" name="example-client.c" size="2768" author="kevin.albertson@mongodb.com" created="Wed, 24 Jul 2019 15:18:45 +0000"/>
                            <attachment id="225108" name="prev.json" size="1447" author="kevin.albertson@mongodb.com" created="Wed, 24 Jul 2019 15:19:01 +0000"/>
                    </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|hv6asv:</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>