<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:59:40 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-42129] Modify test to account for the ephemeralForTest storage engine&apos;s missing oplog after restart</title>
                <link>https://jira.mongodb.org/browse/SERVER-42129</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&#160;&#160;&lt;/p&gt;

&lt;p&gt;Issue 1)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The issue:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The node complains that the namespace &quot;oplog.rs&quot; doesn&#8217;t exist, and the test fails on the assert that tries to drop &#8220;oplog.rs&#8221;, &lt;a href=&quot;http://github.com/mongodb/mongo/blob/c68b233864234fa0a4f9fcc71b775f896d225957/jstests/auth/lib/commands_lib.js#L3969&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;. This failure happens on an ephemeral storage engine, the ephemeralForTest storage engine. The node is restarted at some point, to take it from being a part of a replSet to being a standalone. However, in the process of restarting (i.e. shutting down and starting back up), the ephemeral storage engine is wiped and loses its &#8220;oplog.rs&#8221; collection (which it had when it was a part of a replSet), thus leading to the failure saying the namespace doesn&#8217;t exist when we attempt to drop it.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Other points&lt;/b&gt;: The InMemory WiredTiger storage engine &lt;b&gt;does not fail this way, despite the reasoning given above&lt;/b&gt;. On requesting the database to drop the &#8220;oplog.rs&#8221; namespace, the database first performs a check to make sure dropping &#8220;oplog.rs&#8221; (or any other oplog namespace) is allowed and then proceeds to actually try and drop it. The InMemory WiredTiger storage engine therefore doesn&#8217;t actually try and drop this namespace, because it doesn&#8217;t get that far. This check isn&apos;t triggered when using the ephemeralForTest storage engine.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Proposed fixes:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;*&lt;b&gt;Currently the node is started as a part of a replset and then restarted as a standalone. It might be better to just start up as a standalone directly and manually insert the oplog. This will guarantee that an oplog is present, and will also remove the test&apos;s reliance on methods like ReplicaSetTest&apos;s initiate() that aren&apos;t relevant. I think this is the best solution&lt;/b&gt;. See&#160;&lt;a href=&quot;http://github.com/mongodb/mongo/blob/d15b1f2e036e262f8ea976e04780aa366fa20ad4/jstests/noPassthrough/standalone_replication_recovery.js#L38&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;&#160;*&lt;/p&gt;

&lt;p&gt;Another solution is to surround the entire dropping portion of the test (lines 29 to 35) with a check to make sure &#8220;oplog.rs&#8221; exists first. This is a decent solution, because it accounts for any other storage engines that may have similar behaviors. Also, the purpose of the entire test is to see if forbidding the oplog works.&lt;/p&gt;

&lt;p&gt;A third solution is to alter the ephemeralForTest storage engine to make it resemble the WiredTiger InMemory storage engine, but I don&#8217;t think this is a good approach. The InMemory WiredTiger storage engine has a bug (in supportsRecoveryTimestamp) which is why it behaves differently from the ephemeralForTest storage engine (mentioned above), and the ephemeralForTest shouldn&#8217;t adopt that bug as well.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Issue 2)&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The issue:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Not all storage engines support the replSetResizeOplog command (see &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38356&quot; title=&quot;Forbid dropping oplog in standalone mode on storage engines that support replSetResizeOplog&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38356&quot;&gt;&lt;del&gt;SERVER-38356&lt;/del&gt;&lt;/a&gt;). In an attempt to maintain the same starting state for each iteration of the test (by maintaining the same oplog size), the replSetResizeOplog command is used but fails on the ephemeralForTest storage engine, which does not support the command.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Proposed fixes:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;A solution is to remove the line that tries to maintain uniformity at the start of each test. Since this is a part of the auth suite, it is unlikely that the particular size of the oplog even matters.&lt;/p&gt;

&lt;p&gt;Another solution is to introduce the isWiredTigerOrInMemory() check - only when it is true, then issue the replSetResizeOplog command. Otherwise, just drop and create a new oplog. I think this is the &lt;b&gt;best solution.&lt;/b&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="845467">SERVER-42129</key>
            <summary>Modify test to account for the ephemeralForTest storage engine&apos;s missing oplog after restart</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="vishnu.kaushik@mongodb.com">Vishnu Kaushik</assignee>
                                    <reporter username="vishnu.kaushik@mongodb.com">Vishnu Kaushik</reporter>
                        <labels>
                    </labels>
                <created>Tue, 9 Jul 2019 19:41:20 +0000</created>
                <updated>Sun, 29 Oct 2023 22:19:13 +0000</updated>
                            <resolved>Wed, 24 Jul 2019 18:05:23 +0000</resolved>
                                                    <fixVersion>4.0.13</fixVersion>
                    <fixVersion>4.2.1</fixVersion>
                    <fixVersion>4.3.1</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="2402555" author="xgen-internal-githook" created="Fri, 30 Aug 2019 21:39:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Suganthi Mani&apos;, &apos;username&apos;: &apos;smani87&apos;, &apos;email&apos;: &apos;suganthi.mani@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42129&quot; title=&quot;Modify test to account for the ephemeralForTest storage engine&amp;#39;s missing oplog after restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42129&quot;&gt;&lt;del&gt;SERVER-42129&lt;/del&gt;&lt;/a&gt; modifies test to account for ephemeralForTest engine&apos;s missing oplog after restart.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 45ff40ff0f2a2d7664a38acd06bfb4f4fe235267)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5a3ae3a4bc864d1a582d0da95d86fe7f3bfccd8d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5a3ae3a4bc864d1a582d0da95d86fe7f3bfccd8d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2402313" author="xgen-internal-githook" created="Fri, 30 Aug 2019 18:29:53 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Suganthi Mani&apos;, &apos;username&apos;: &apos;smani87&apos;, &apos;email&apos;: &apos;suganthi.mani@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42129&quot; title=&quot;Modify test to account for the ephemeralForTest storage engine&amp;#39;s missing oplog after restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42129&quot;&gt;&lt;del&gt;SERVER-42129&lt;/del&gt;&lt;/a&gt; modifies test to account for ephemeralForTest engine&apos;s missing oplog after restart.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 45ff40ff0f2a2d7664a38acd06bfb4f4fe235267)&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/966f51fa210c9db0e4cfff18fe400c0b2433b263&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/966f51fa210c9db0e4cfff18fe400c0b2433b263&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2342058" author="vishnu.kaushik" created="Wed, 24 Jul 2019 18:05:23 +0000"  >&lt;p&gt;The InMemory WiredTiger engine&apos;s behavior has changed across 4.0 and 4.2+. This change needs to be accounted for.&lt;/p&gt;</comment>
                            <comment id="2342028" author="xgen-internal-githook" created="Wed, 24 Jul 2019 17:53:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Vishnu Kaushik&apos;, &apos;email&apos;: &apos;vishnu.kaushik@mongodb.com&apos;, &apos;username&apos;: &apos;kauboy26&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42129&quot; title=&quot;Modify test to account for the ephemeralForTest storage engine&amp;#39;s missing oplog after restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42129&quot;&gt;&lt;del&gt;SERVER-42129&lt;/del&gt;&lt;/a&gt; modifies test to account for ephemeralForTest engine&apos;s missing oplog after restart.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/45ff40ff0f2a2d7664a38acd06bfb4f4fe235267&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/45ff40ff0f2a2d7664a38acd06bfb4f4fe235267&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2341547" author="suganthi.mani" created="Wed, 24 Jul 2019 14:44:33 +0000"  >&lt;p&gt;We should not add this ticket under epic PM-1305. So, removing it.&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">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="845730">SERVER-42131</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="641799">SERVER-38356</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>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16775"><![CDATA[v4.2]]></customfieldvalue>
    <customfieldvalue key="15640"><![CDATA[v4.0]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 24 Jul 2019 14:44:33 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 23 weeks, 5 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>
                            4 years, 23 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>47.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>suganthi.mani@mongodb.com</customfieldvalue>
            <customfieldvalue>vishnu.kaushik@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvcegf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hv1hyv:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="3028">Repl 2019-07-29</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|hvc0pr:</customfieldvalue>

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