<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:13:22 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-47124] Enforce initializer order for MONGO_REGISTER_TEST_COMMAND</title>
                <link>https://jira.mongodb.org/browse/SERVER-47124</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The helper macro MONGO_REGISTER_TEST_COMMAND currently requests an initializer be run &quot;whenever&quot;, that is, without prependents or dependents.  Fortunately, as an implementation detail, our initializer graph interprets this as &quot;after all the complex initializers are done.  However, our implementation could just as validly do the opposite and be equally correct.&lt;/p&gt;

&lt;p&gt;In reality, we need these registrants to run after the `--setParameter EnableTestCommands=1` flag has been evaluated otherwise we risk test-only commands not being available when they should be if the implementation ever changes.&lt;/p&gt;

&lt;p&gt;Add a prerequisite to this macro to run after &quot;EndStartupOptionHandling&quot;&lt;br/&gt;
See: &lt;a href=&quot;https://github.com/mongodb/mongo/blob/7eab469f87e860ce9e74918fdd5a23e943eb2673/src/mongo/db/commands.h#L1004&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/7eab469f87e860ce9e74918fdd5a23e943eb2673/src/mongo/db/commands.h#L1004&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="1291197">SERVER-47124</key>
            <summary>Enforce initializer order for MONGO_REGISTER_TEST_COMMAND</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="gabriel.marks@mongodb.com">Gabriel Marks</assignee>
                                    <reporter username="sara.golemon@mongodb.com">Sara Golemon</reporter>
                        <labels>
                            <label>neweng</label>
                    </labels>
                <created>Wed, 25 Mar 2020 21:08:44 +0000</created>
                <updated>Sun, 29 Oct 2023 22:10:18 +0000</updated>
                            <resolved>Thu, 25 Jun 2020 17:57:05 +0000</resolved>
                                                    <fixVersion>4.7.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3521524" author="sara.golemon" created="Tue, 8 Dec 2020 21:05:59 +0000"  >&lt;p&gt;Having seen &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47778&quot; title=&quot;have MONGO_INITIALIZERs throw to indicate failure&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47778&quot;&gt;&lt;del&gt;SERVER-47778&lt;/del&gt;&lt;/a&gt; since our last exchange, your interest makes sense here.&#160;And thanks for that, btw, looks great.&lt;/p&gt;

&lt;p&gt;Go ahead and revert this if it simplifies things. As mentioned, I agree with you that it&apos;s not necessary given the role of &quot;default&quot; actually sitting somewhere in the middle of the execution order rather than my prior understanding.&lt;/p&gt;</comment>
                            <comment id="3519539" author="billy.donahue" created="Mon, 7 Dec 2020 21:28:53 +0000"  >&lt;p&gt;It&apos;s the only place that uses the ::mongo::defaultInitializerName() outside of init itself, so I was thinking of just resimplifying this thing down so I can get rid of ::mongo::defaultInitializerName() altogether.&lt;/p&gt;

&lt;p&gt;I&apos;m also adding a fair amount of documentation about the startup phases so this will not be so mysterious anymore.&lt;/p&gt;</comment>
                            <comment id="3519534" author="sara.golemon" created="Mon, 7 Dec 2020 21:26:03 +0000"  >&lt;p&gt;You&apos;re correct.&#160; I had misread this loop as happening after &quot;default&quot; (which all the test commands are as well) which would have been incorrect.&#160; You&apos;re right that this is a no-op and could be reverted to save a small amount of startup work.&lt;/p&gt;

&lt;p&gt;I disagree that this change hurts code clarity though.&#160; This change makes it &lt;b&gt;more&lt;/b&gt; apparent that the TEST_COMMAND initializers are running after StartupOptionHandling, and have no impact to readability elsewhere.&lt;/p&gt;</comment>
                            <comment id="3519442" author="billy.donahue" created="Mon, 7 Dec 2020 20:40:31 +0000"  >&lt;p&gt;This didn&apos;t fix any actual problem. I am recommending that we revert it as it is a downgrade in code clarity for the MONGO_REGISTER_TEST_COMMAND macro.&lt;/p&gt;

&lt;p&gt;The premise of the ticket was flawed. The MONGO_INITIALIZER macro does not mean &quot;run whenever&quot;. There&apos;s a sequence point called &quot;default&quot; that will automatically be a prerequisite of any MONGO_INITIALIZER. Depending on &quot;default&quot; and &quot;EndStartupOptionHandling&quot; is redundant. Begin and End &quot;StartupOptionHandling&quot; are defined by util/options_parser/startup_options_init.cpp&lt;/p&gt;

&lt;p&gt;All the rules in that file happen after &quot;ValidateLocale&quot; and before &quot;default&quot;, so this change really was a noop.&lt;/p&gt;
</comment>
                            <comment id="3224549" author="xgen-internal-githook" created="Thu, 25 Jun 2020 19:17:55 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Gabriel Marks&apos;, &apos;email&apos;: &apos;gabriel.marks@mongodb.com&apos;, &apos;username&apos;: &apos;marksg07&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47124&quot; title=&quot;Enforce initializer order for MONGO_REGISTER_TEST_COMMAND&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47124&quot;&gt;&lt;del&gt;SERVER-47124&lt;/del&gt;&lt;/a&gt; Add EndStartupOptionHandling as prependent to registering test commands&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a8a66b7b36d7b936d99808884fccc49db61d5697&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a8a66b7b36d7b936d99808884fccc49db61d5697&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <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_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>Thu, 25 Jun 2020 14:36:16 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 9 weeks, 1 day 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>
                            3 years, 9 weeks, 1 day ago
                        </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>billy.donahue@mongodb.com</customfieldvalue>
            <customfieldvalue>gabriel.marks@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>sara.golemon@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxbcqn:</customfieldvalue>

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

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