<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:14:14 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-27122] Restart initial sync for known index idempotency errors; fail for unknown ones. </title>
                <link>https://jira.mongodb.org/browse/SERVER-27122</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;For each known index idempotency problem, return a unique error to initial sync so that it can discern them and restart initial sync without failing tests.  This will permit initial sync to detect unknown idempotency problems and fail tests rather than silently hide the problems.&lt;/p&gt;

&lt;p&gt;ORIGINAL DESCRIPTION:&lt;br/&gt;
There are a number of additional index operations that should be idempotent and currently not handled by the improvements in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26202&quot; title=&quot;Relax index constraints in oplog application&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26202&quot;&gt;&lt;del&gt;SERVER-26202&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Applying the following operations on a collection before and after dropping it will cause initial sync to restart. They were found by going through the various checks in &lt;tt&gt;IndexCatalog::_doesSpecConflictWithExisting&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;1. creating indexes with different specs but the same name.&lt;br/&gt;
2. creating text indexes with different specs.&lt;br/&gt;
3. having more than 64 indexes combined, before and after dropping a collection.&lt;/p&gt;</description>
                <environment></environment>
        <key id="333012">SERVER-27122</key>
            <summary>Restart initial sync for known index idempotency errors; fail for unknown ones. </summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="robert.guo@mongodb.com">Robert Guo</reporter>
                        <labels>
                            <label>former-quick-wins</label>
                            <label>former-robust-initial-sync</label>
                            <label>idempotency</label>
                            <label>initialSync</label>
                    </labels>
                <created>Fri, 18 Nov 2016 22:36:05 +0000</created>
                <updated>Tue, 6 Dec 2022 04:11:19 +0000</updated>
                                            <version>3.4.0-rc4</version>
                                                    <component>Index Maintenance</component>
                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>12</watches>
                                                                                                                <comments>
                            <comment id="2520993" author="judah.schvimer" created="Wed, 6 Nov 2019 19:07:03 +0000"  >&lt;p&gt;This should unblock &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33946&quot; title=&quot;Decrease number of initial sync attempts in tests to 1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33946&quot;&gt;SERVER-33946&lt;/a&gt;, and then the Replication Team can retriage that ticket to catch unknown idempotency problems.&lt;/p&gt;</comment>
                            <comment id="2520956" author="milkie" created="Wed, 6 Nov 2019 18:58:30 +0000"  >&lt;p&gt;After discussion, we decided to change the work for this ticket: instead of fixing the idempotency problems to work seamlessly, we can instead make each idempotency error uniquely identifiable.  That way, initial sync can filter out the known problems and restart without failing the test, and any other unrecognized errors can fail the test.&lt;/p&gt;</comment>
                            <comment id="2520850" author="judah.schvimer" created="Wed, 6 Nov 2019 18:28:44 +0000"  >&lt;p&gt;Without &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33946&quot; title=&quot;Decrease number of initial sync attempts in tests to 1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33946&quot;&gt;SERVER-33946&lt;/a&gt; it is difficult to ensure we&apos;ve handled all idempotency problems in initial sync. Can you please clarify which ones would be too difficult to fix? Maybe we can ensure the other ones don&apos;t happen in our tests instead of fixing them to still enable &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33946&quot; title=&quot;Decrease number of initial sync attempts in tests to 1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33946&quot;&gt;SERVER-33946&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="2520799" author="milkie" created="Wed, 6 Nov 2019 18:16:49 +0000"  >&lt;p&gt;The amount of work required to do this doesn&apos;t seem like a good tradeoff for the perceived benefit, so I am recommending we close this as Won&apos;t Fix.&lt;/p&gt;</comment>
                            <comment id="2476536" author="siyuan.zhou@10gen.com" created="Thu, 10 Oct 2019 20:53:43 +0000"  >&lt;p&gt;I feel this needs some semantic change of index build here in those problematic idempotency issues. Assigning to Execution team. Happy to discuss proposals though.&lt;/p&gt;</comment>
                            <comment id="2051605" author="judah.schvimer" created="Mon, 5 Nov 2018 14:37:37 +0000"  >&lt;p&gt;Yes, this is a result of applying operations and index creations/deletions out of order during initial sync due to the clone and then oplog-replay process. It&apos;s possible, even with UUIDs, for documents and their indexes to temporarily be incompatible, or for multiple indexes to be incompatible temporarily, such that the incompatibilities would be resolved by the end of initial sync if initial sync were allowed to finish.&lt;/p&gt;</comment>
                            <comment id="2050960" author="asya" created="Sat, 3 Nov 2018 11:54:12 +0000"  >&lt;p&gt;Is this an issue still after the UUID work for collections?&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="491093">SERVER-33946</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="491027">SERVER-33057</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="337699">SERVER-27357</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="469888">SERVER-32225</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="991804">SERVER-44462</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>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25128"><![CDATA[Replication]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000aOWQXIA4]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 21 Nov 2016 13:44:15 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 14 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_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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 14 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>asya.kamsky@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>robert.guo@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrjqcv:</customfieldvalue>

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

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