<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:11:45 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>[DOCS-15012] SERVER-62065: Upgrade can leave chunk entries without history on the shards</title>
                <link>https://jira.mongodb.org/browse/DOCS-15012</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;background-color: #239eb0;&quot;&gt;&lt;b&gt;Downstream Change Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;p&gt;    This change has introduced a new command called `repairShardedCollectionChunksHistory` to counteract the effects of the  bug described in this ticket.&lt;/p&gt;

&lt;p&gt;More about the operation of the command is available in its help option: &lt;a href=&quot;https://github.com/mongodb/mongo/blob/3b56acfe78e91b607eafc737ebf88d237db1460a/src/mongo/s/commands/cluster_repair_sharded_collection_chunks_history_cmd.cpp#L65&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/3b56acfe78e91b607eafc737ebf88d237db1460a/src/mongo/s/commands/cluster_repair_sharded_collection_chunks_history_cmd.cpp#L65&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The command is under the `splitChunk` privilege so there shouldn&apos;t be any need for changes to Atlas.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;h2&gt;&lt;a name=&quot;DescriptionofLinkedTicket&quot;&gt;&lt;/a&gt;Description of Linked Ticket&lt;/h2&gt;
&lt;p&gt;    In 4.0 we introduced support for a multi-version routing table (PM-1013). This later (in 4.2) became the basis for distributed transactions and snapshot reads. As part of this project, we introduced a &lt;a href=&quot;https://github.com/mongodb/mongo/commit/7db37fa2823760ae2a9f061f5682c6bb3c2c3ad0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;history&lt;/tt&gt;&lt;/a&gt; field to the persisted chunk type, but we never actually used it in 4.0.&lt;/p&gt;

&lt;p&gt;Since we never used it, the backup/restore procedures ever since 4.0 have referenced that this field is safe do delete on restore. However, it is actually not safe to do so, because it breaks snapshot reads (routing and filtering at a point in time).&lt;/p&gt;

&lt;p&gt;Furthermore, due to the optimisation done under &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53274&quot; title=&quot;The force-write of the `history` field to all chunks on FCV upgrade from 3.6 to 4.0 is unnecessary&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53274&quot;&gt;&lt;del&gt;SERVER-53274&lt;/del&gt;&lt;/a&gt;, we can again have chunks with not history field in the persisted shard-local &lt;tt&gt;config.system.cache.chunks&lt;/tt&gt; collection.&lt;/p&gt;

&lt;p&gt;As a result of the above, we can have 4.0, 4.2, 4.4, 5.0, 5.1, 5.2 clusters which are missing the history fields for some chunks, which in turn breaks snapshot reads and distributed transactions, which will fail with an error saying &lt;tt&gt;Chunk has no history entries&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;These clusters will not have any issue functioning, until customers start using distributed transactions and snapshot reads.&lt;/p&gt;

&lt;p&gt;This ticket is to provide manual procedure for restoring the history fields and to implement a command, which will restore the history fields automatically.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="1958674">DOCS-15012</key>
            <summary>SERVER-62065: Upgrade can leave chunk entries without history on the shards</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                            <label>backlog</label>
                            <label>feature</label>
                            <label>sharding</label>
                    </labels>
                <created>Wed, 5 Jan 2022 09:32:07 +0000</created>
                <updated>Mon, 22 Jan 2024 16:06:08 +0000</updated>
                                                            <fixVersion>5.0.6</fixVersion>
                    <fixVersion>5.3.0</fixVersion>
                    <fixVersion>4.2.19</fixVersion>
                    <fixVersion>5.2.1</fixVersion>
                    <fixVersion>4.4.13</fixVersion>
                    <fixVersion>4.0.29</fixVersion>
                                    <component>manual</component>
                    <component>Server</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4275987" author="JIRAUSER1260683" created="Wed, 5 Jan 2022 13:44:44 +0000"  >&lt;p&gt;This new command will need to be adding to master and back ported to all branches.&lt;/p&gt;</comment>
                            <comment id="4275675" author="dbeng-pm-bot" created="Wed, 5 Jan 2022 09:32:09 +0000"  >&lt;p&gt;&lt;em&gt;Downstream changes updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-62065&quot; title=&quot;Upgrade path from 3.6 to 4.0 can leave chunk entries without history on the shards&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-62065&quot;&gt;&lt;del&gt;SERVER-62065&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
This change has introduced a new command called `repairShardedCollectionChunksHistory` to counteract the effects of the  bug described in this ticket.&lt;/p&gt;

&lt;p&gt;More about the operation of the command is available in its help option: &lt;a href=&quot;https://github.com/mongodb/mongo/blob/3b56acfe78e91b607eafc737ebf88d237db1460a/src/mongo/s/commands/cluster_repair_sharded_collection_chunks_history_cmd.cpp#L65&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/3b56acfe78e91b607eafc737ebf88d237db1460a/src/mongo/s/commands/cluster_repair_sharded_collection_chunks_history_cmd.cpp#L65&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The command is under the `splitChunk` privilege so there shouldn&apos;t be any need for changes to Atlas.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                        <issuelink>
            <issuekey id="1959373">DOCS-15015</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1960493">DOCS-15020</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1968970">DOCS-15058</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="backports">
                                        <issuelink>
            <issuekey id="1961284">DOCS-15021</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="1950340">SERVER-62065</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 5 Jan 2022 09:32:09 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 5 weeks 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DOCSP-19447</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>emet.ozar@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 5 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-pm</customfieldvalue>
            <customfieldvalue>ian.fogelman@mongodb.com</customfieldvalue>
            <customfieldvalue>dbeng-pm-bot</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0fyov:</customfieldvalue>

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

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