<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:20:11 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-49534] Remove ReplicaSetAwareService::onStepUpBegin</title>
                <link>https://jira.mongodb.org/browse/SERVER-49534</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;External services shouldn&apos;t have to know about the different phases of stepUp.  Rather than having both onStepUpBegin and onStepUpComplete, the ReplicaSetAwareService interface should expose a single onStepUp method, which is the equivalent of the current onStepUpComplete.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1411317">SERVER-49534</key>
            <summary>Remove ReplicaSetAwareService::onStepUpBegin</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="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="spencer@mongodb.com">Spencer Brody</reporter>
                        <labels>
                            <label>neweng</label>
                    </labels>
                <created>Wed, 15 Jul 2020 20:50:19 +0000</created>
                <updated>Tue, 6 Dec 2022 02:17:53 +0000</updated>
                                                                            <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="3321760" author="kaloian.manassiev" created="Wed, 5 Aug 2020 07:00:27 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=siyuan.zhou&quot; class=&quot;user-hover&quot; rel=&quot;siyuan.zhou&quot;&gt;siyuan.zhou&lt;/a&gt;, this is correct.&lt;/p&gt;</comment>
                            <comment id="3321315" author="siyuan.zhou@10gen.com" created="Tue, 4 Aug 2020 20:53:02 +0000"  >&lt;p&gt;Discussed with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kaloian.manassiev&quot; class=&quot;user-hover&quot; rel=&quot;kaloian.manassiev&quot;&gt;kaloian.manassiev&lt;/a&gt;&#160;and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=spencer&quot; class=&quot;user-hover&quot; rel=&quot;spencer&quot;&gt;spencer&lt;/a&gt;&#160;offline. Correct me if I&apos;m wrong &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kaloian.manassiev&quot; class=&quot;user-hover&quot; rel=&quot;kaloian.manassiev&quot;&gt;kaloian.manassiev&lt;/a&gt;, we needed&#160;onStepUpBegin() separate from onStepUpComplete() because it joins a thread and would cause deadlock if it ran under RSTL, which is held by&#160;onStepUpComplete(). Thus we cannot move balancer&apos;s onStepUpBegin to&#160;onStepUpComplete. As a result, this depends on Balancer&apos;s change in&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-49533&quot; title=&quot;Remove blocking work from Balancer&amp;#39;s onStepUp methods&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-49533&quot;&gt;&lt;del&gt;SERVER-49533&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="3310237" author="spencer" created="Tue, 28 Jul 2020 16:40:11 +0000"  >&lt;p&gt;I think for the purposes of &lt;b&gt;this ticket&lt;/b&gt; it would probably be fine just to move the body of the balancer&apos;s onStepUpBegin to be the very beginning of onStepUpComplete&lt;/p&gt;</comment>
                            <comment id="3309089" author="kaloian.manassiev" created="Tue, 28 Jul 2020 12:16:44 +0000"  >&lt;blockquote&gt;&lt;p&gt;With primary-only service, we should be able to stop old balancers in a different approach&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Just to be clear, it is not the stopping of the old balancers, but the joining so that we provide some kind of &quot;single-threaded&quot; guarantee to the implementors of ReplicaSetAwareService(s). I want as an implementor of such service that I have clear points where I can join my threads instead of having to add internal synchronisation, such as terms, etc. If this can be provided, then sounds good to me, otherwise we are just pushing more work to the service itself to compensate for something, which has never been a problem (namely the joining of the threads).&lt;/p&gt;</comment>
                            <comment id="3308580" author="siyuan.zhou@10gen.com" created="Tue, 28 Jul 2020 00:15:54 +0000"  >&lt;p&gt;This is a great idea. The difference between onStepUpBegin and onStepUpComplete is subtle. Balancer::onStepUpBegin() only waits for the old balancer to finish. With primary-only service, we should be able to stop old balancers in a different approach. It&apos;s very valuable to minimize the contract between replication and the rest of the system.&lt;/p&gt;

&lt;p&gt;I think this doesn&apos;t necessarily depend on&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-49533&quot; title=&quot;Remove blocking work from Balancer&amp;#39;s onStepUp methods&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-49533&quot;&gt;&lt;del&gt;SERVER-49533&lt;/del&gt;&lt;/a&gt; since &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-49533&quot; title=&quot;Remove blocking work from Balancer&amp;#39;s onStepUp methods&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-49533&quot;&gt;&lt;del&gt;SERVER-49533&lt;/del&gt;&lt;/a&gt; involves a deeper discussion of disk I/O and synchronization between stepup and primary-only service. This ticket is aligned well with the current design of primary-only service. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kaloian.manassiev&quot; class=&quot;user-hover&quot; rel=&quot;kaloian.manassiev&quot;&gt;kaloian.manassiev&lt;/a&gt;, does this make sense to you?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="1411314">SERVER-49533</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1411305">SERVER-49532</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>5.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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 28 Jul 2020 00:15:54 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 27 weeks 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-49533'>SERVER-49533</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_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>
                            3 years, 27 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxv593:</customfieldvalue>

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

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