<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:39: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>[SERVER-78976] (SA) Adapt command registry to support both router and shard commands</title>
                <link>https://jira.mongodb.org/browse/SERVER-78976</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description></description>
                <environment></environment>
        <key id="2391764">SERVER-78976</key>
            <summary>(SA) Adapt command registry to support both router and shard commands</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="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="billy.donahue@mongodb.com">Billy Donahue</assignee>
                                    <reporter username="paolo.polato@mongodb.com">Paolo Polato</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Jul 2023 12:18:30 +0000</created>
                <updated>Sun, 29 Oct 2023 21:18:54 +0000</updated>
                            <resolved>Tue, 12 Sep 2023 05:55:54 +0000</resolved>
                                                    <fixVersion>7.2.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                                                            <comments>
                            <comment id="5696549" author="billy.donahue" created="Tue, 12 Sep 2023 05:55:54 +0000"  >&lt;p&gt;subtask &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80434&quot; title=&quot;CommandRegistry per Service&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80434&quot;&gt;&lt;del&gt;SERVER-80434&lt;/del&gt;&lt;/a&gt; completed this ticket&lt;br/&gt;
The CommandRegistry supports router and shard Services.&lt;/p&gt;

&lt;p&gt;Now we have to apply that support.&lt;/p&gt;</comment>
                            <comment id="5623550" author="billy.donahue" created="Wed, 9 Aug 2023 15:23:51 +0000"  >&lt;p&gt;I&apos;m nearly finished converting &lt;b&gt;all&lt;/b&gt; Command initialization to the uniform &lt;tt&gt;MONGO_REGISTER_COMMAND(CmdType)&lt;/tt&gt; syntax.&lt;/p&gt;

&lt;p&gt;This critical first step allows us to make enhancements to Command definitions by editing a central definition. It&apos;s a searchable pattern, something we don&apos;t currently have. There are currently a plethora of diverse and creative ways of making Command objects, but we can capture all of their needs with the new syntax.  Anyway, just giving an update that it&apos;s going well.&lt;/p&gt;

&lt;p&gt;The one that&apos;s giving me the most trouble is &quot;fsync&quot;, because the &quot;fsyncUnlock&quot; command object calls member functions on the &quot;fsync&quot; command object. The &quot;fsync&quot; Command object manages the global fsync locks internally and that service-like code has to be separated out from the Command object that manipulates it.&lt;/p&gt;

&lt;p&gt;This MONGO_REGISTER_COMMAND mechanism work is split off into &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-79907&quot; title=&quot;MONGO_REGISTER_COMMAND uniform Command construction&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-79907&quot;&gt;&lt;del&gt;SERVER-79907&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5611097" author="billy.donahue" created="Thu, 3 Aug 2023 18:01:18 +0000"  >&lt;p&gt;I think the Command object lifecycle is pretty unusual right now.&lt;/p&gt;

&lt;p&gt;The hand raw pointers to themselves to the CommandRegistry, so the CommandRegistry can&apos;t tell if they go away. They do this in their constructor, when they&apos;re not yet completed objects, so the CommandRegistry has to be hands-off until the Command constructor is completed.&lt;/p&gt;

&lt;p&gt;IMO the self-registration and the static duration restrictions on Command objects may need to be addressed first to enable more scalable designs for CommandRegistry.&lt;/p&gt;

&lt;p&gt;I think it would be best if the Shard and Router registries didn&apos;t share the same set of `Command` objects, but had their own private copies held as smart pointers. I think that will probably be less confusing.&lt;/p&gt;

&lt;p&gt;There are a few idioms for declaring Commands today and we could improve those as well.&lt;br/&gt;
I think the the command files should have static registration objects that tell CommandRegistries what to make, similar to Decorations.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2424268">SERVER-80331</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2401230">SERVER-79352</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2385921">SERVER-78771</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="2414312">SERVER-79907</subtask>
                            <subtask id="2424767">SERVER-80352</subtask>
                            <subtask id="2424833">SERVER-80355</subtask>
                            <subtask id="2426950">SERVER-80434</subtask>
                            <subtask id="2488402">SERVER-82682</subtask>
                    </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>4.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25132"><![CDATA[Service Arch]]></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, 3 Aug 2023 18:01:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        21 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-80331'>SERVER-80331</a></s>]]></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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-635</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>
                            21 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>154.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>billy.donahue@mongodb.com</customfieldvalue>
            <customfieldvalue>paolo.polato@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2hwjb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i201mw:</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="7612">Service Arch 2023-08-07</customfieldvalue>
    <customfieldvalue id="7613">Service Arch 2023-08-21</customfieldvalue>
    <customfieldvalue id="7614">Service Arch 2023-09-04</customfieldvalue>
    <customfieldvalue id="7615">Service Arch 2023-09-18</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|i2hion:</customfieldvalue>

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