<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:24:39 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>[DRIVERS-2070] Ambiguity regarding cluster time support in topology types</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2070</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;Quoting the &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/causal-consistency/causal-consistency.rst#test-plan&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;causal consistency spec&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The server reports its view of the current cluster time in the $clusterTime field in responses from the server and the driver participates in distributing the current cluster time to all nodes (called &quot;gossipping the cluster time&quot;) by &lt;b&gt;sending the highest $clusterTime it has seen so far in messages it sends to mongos servers&lt;/b&gt;. The current cluster time is a logical time, but is digitally signed to prevent malicious clients from propagating invalid cluster times. &lt;b&gt;Cluster time is only used in replica sets and sharded clusters&lt;/b&gt;.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This definition only alludes to gossipping the cluster time to mongos servers, and says that cluster time is only used in replica sets or shard clusters with no mention of server/wire version.&lt;/p&gt;

&lt;p&gt;According to the &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/sessions/driver-sessions.rst#gossipping-the-cluster-time&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;driver sessions spec on gossiping the cluster time&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Drivers MUST gossip the cluster time when connected to a deployment that uses cluster times.&lt;/p&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;p&gt;A driver detects that it MUST participate in gossipping the cluster time when it sees a $clusterTime in a response received from a server.&lt;/p&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;p&gt;Drivers MUST check that the server they are sending a command to supports $clusterTime before adding $clusterTime to the command. A server supports $clusterTime when the maxWireVersion &amp;gt;= 6.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Reading various bits of the driver sessions spec, we can conclude that &lt;tt&gt;$clusterTime&lt;/tt&gt; is only supported by servers with maxWireVersion &amp;gt;= 6 that are also members of a replica set or shard cluster (not standalone servers).&lt;/p&gt;

&lt;p&gt;The definition in the causal consistency spec could be improved by stating this requirement explicitly, and not exclusively referring to mongos on the subject of gossipping.&lt;/p&gt;</description>
                <environment></environment>
        <key id="475330">DRIVERS-2070</key>
            <summary>Ambiguity regarding cluster time support in topology types</summary>
                <type id="14901" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14700&amp;avatarType=issuetype">Spec Change</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Thu, 21 Dec 2017 17:47:03 +0000</created>
                <updated>Thu, 31 Mar 2022 14:11:35 +0000</updated>
                                                                <component>Causal Consistency</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1767919" author="behackett" created="Mon, 8 Jan 2018 18:28:39 +0000"  >&lt;blockquote&gt;&lt;p&gt;The definition in the causal consistency spec could be improved by stating this requirement explicitly, and not exclusively referring to mongos on the subject of gossipping.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I agree.&lt;/p&gt;</comment>
                            <comment id="1757983" author="jmikola@gmail.com" created="Thu, 21 Dec 2017 17:48:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=emily.stolfo&quot; class=&quot;user-hover&quot; rel=&quot;emily.stolfo&quot;&gt;emily.stolfo&lt;/a&gt;: I believe this addresses the issue you ran into a few days ago and brought up in #drivers, but please chime in if you have any other suggestions for improving the spec language.&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>
                                                        </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_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hteb5z:</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>