<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:00:19 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>[SERVER-64433] A new topology time could be gossiped without being majority committed</title>
                <link>https://jira.mongodb.org/browse/SERVER-64433</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Every time a shard is added or removed, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f690e6856e9cbc7ee1bc3bcf20dfa4eed6621e2a/src/mongo/db/s/config/sharding_catalog_manager_shard_operations.cpp#L717&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;we create a new &lt;tt&gt;topologyTime&lt;/tt&gt; (let&apos;s call it &lt;tt&gt;T0&lt;/tt&gt; time)&lt;/a&gt; that &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f690e6856e9cbc7ee1bc3bcf20dfa4eed6621e2a/src/mongo/db/s/config/sharding_catalog_manager_shard_operations.cpp#L726-L730&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;is inserted in &lt;tt&gt;config.shards&lt;/tt&gt;&lt;/a&gt;.&#160; Afterwards, when &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f690e6856e9cbc7ee1bc3bcf20dfa4eed6621e2a/src/mongo/db/s/config_server_op_observer.cpp#L128-L131&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this operation is locally committed (let&apos;s say that at &lt;tt&gt;Tcommit&lt;/tt&gt;&#160;time)&lt;/a&gt;, we store the value of &lt;tt&gt;T0&lt;/tt&gt; time in a in-memory data structure.&#160; Finally, when the majority commit point is advanced to a &lt;tt&gt;TmajorityPoint&lt;/tt&gt;&#160;time greater or equal than &lt;tt&gt;T0&lt;/tt&gt; time, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f690e6856e9cbc7ee1bc3bcf20dfa4eed6621e2a/src/mongo/db/s/config_server_op_observer.cpp#L253&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;we tick the &lt;tt&gt;configTime&lt;/tt&gt;&lt;/a&gt; and&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/f690e6856e9cbc7ee1bc3bcf20dfa4eed6621e2a/src/mongo/db/s/config_server_op_observer.cpp#L243&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;advance the vector clock &lt;tt&gt;topologyTime&lt;/tt&gt; to the &lt;tt&gt;T0&lt;/tt&gt; time&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The problem of this approach is that we are advancing the &lt;tt&gt;topologyTime&lt;/tt&gt; of the vector clock when &lt;tt&gt;TmajorityPoint&lt;/tt&gt; &amp;gt;=&#160;&lt;tt&gt;T0&lt;/tt&gt;, but this doesn&apos;t guarantee that the time associated to the oplog entry (i.e. &lt;tt&gt;Tcommit&lt;/tt&gt;) was majority committed. Thus, we might end up gossiping a new &lt;tt&gt;topologyTime&lt;/tt&gt; but when we a shard goes to the config server expecting to find an entry in &lt;tt&gt;config.shards&lt;/tt&gt; with a &lt;tt&gt;topologyTime&lt;/tt&gt; of &lt;tt&gt;T0&lt;/tt&gt;, it might happen that it doesn&apos;t find it.&lt;/p&gt;

&lt;p&gt;Note that the &lt;tt&gt;topologyTime&lt;/tt&gt; is a time but it doesn&apos;t provide any guarantee about what you will find in &lt;tt&gt;config.shards&lt;/tt&gt;. It could be seen just as a counter that it is ticked every time we perform an add/remove shard operation.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1999415">SERVER-64433</key>
            <summary>A new topology time could be gossiped without being majority committed</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="sergi.mateo-bellido@mongodb.com">Sergi Mateo Bellido</assignee>
                                    <reporter username="sergi.mateo-bellido@mongodb.com">Sergi Mateo Bellido</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Mar 2022 14:23:47 +0000</created>
                <updated>Sun, 29 Oct 2023 21:41:13 +0000</updated>
                            <resolved>Fri, 13 May 2022 13:37:16 +0000</resolved>
                                                    <fixVersion>6.0.0-rc6</fixVersion>
                    <fixVersion>5.0.10</fixVersion>
                    <fixVersion>6.1.0-rc0</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="4610181" author="xgen-internal-githook" created="Mon, 13 Jun 2022 08:46:38 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Sergi Mateo Bellido&apos;, &apos;email&apos;: &apos;sergi.mateo-bellido@mongodb.com&apos;, &apos;username&apos;: &apos;smateo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-64433&quot; title=&quot;A new topology time could be gossiped without being majority committed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-64433&quot;&gt;&lt;del&gt;SERVER-64433&lt;/del&gt;&lt;/a&gt; Recovering the topology tick points on startup/init sync&lt;/p&gt;

&lt;p&gt;Adding a way to execute unit tests with the WiredTiger SE&lt;/p&gt;

&lt;p&gt;(cherry picked from commit cc33146088335da2bc08edf4eeec7d6b9fd724f0)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/63a8db3b942ab424565516ce841dbf0e35d4b46a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/63a8db3b942ab424565516ce841dbf0e35d4b46a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4547312" author="xgen-internal-githook" created="Fri, 13 May 2022 13:33:46 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Sergi Mateo Bellido&apos;, &apos;email&apos;: &apos;sergi.mateo-bellido@mongodb.com&apos;, &apos;username&apos;: &apos;smateo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-64433&quot; title=&quot;A new topology time could be gossiped without being majority committed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-64433&quot;&gt;&lt;del&gt;SERVER-64433&lt;/del&gt;&lt;/a&gt; Recovering the topology tick points on startup/init sync&lt;/p&gt;

&lt;p&gt;(cherry picked from commit cc33146088335da2bc08edf4eeec7d6b9fd724f0)&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f9bf6f179994afeaff255568a6ab0c28dc3f646c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f9bf6f179994afeaff255568a6ab0c28dc3f646c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4545865" author="xgen-internal-githook" created="Thu, 12 May 2022 18:06:07 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Sergi Mateo Bellido&apos;, &apos;email&apos;: &apos;sergi.mateo-bellido@mongodb.com&apos;, &apos;username&apos;: &apos;smateo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-64433&quot; title=&quot;A new topology time could be gossiped without being majority committed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-64433&quot;&gt;&lt;del&gt;SERVER-64433&lt;/del&gt;&lt;/a&gt; Recovering the topology tick points on startup/init sync&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cc33146088335da2bc08edf4eeec7d6b9fd724f0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cc33146088335da2bc08edf4eeec7d6b9fd724f0&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1998554">SERVER-64408</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2004216">SERVER-64627</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1998554">SERVER-64408</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2009033">SERVER-64931</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23470"><![CDATA[v6.0]]></customfieldvalue>
    <customfieldvalue key="21777"><![CDATA[v5.0]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 29 Apr 2022 08:04:05 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 34 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 34 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>23.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>sergi.mateo-bellido@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0mvtj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i06i3n:k</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>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="5816">Sharding EMEA 2022-03-21</customfieldvalue>
    <customfieldvalue id="5817">Sharding EMEA 2022-04-04</customfieldvalue>
    <customfieldvalue id="5818">Sharding EMEA 2022-04-18</customfieldvalue>
    <customfieldvalue id="6073">Sharding EMEA 2022-05-02</customfieldvalue>
    <customfieldvalue id="6074">Sharding EMEA 2022-05-16</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0mhyv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>