<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:32:15 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-76271] Remove OpObserverShardingImpl Dependency on OpObserverImpl</title>
                <link>https://jira.mongodb.org/browse/SERVER-76271</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;OpObserverShardingImpl inherits from OpObserverImpl, yet doesn&apos;t override any methods, it also has OpObserverImpl (its parent) aware of and calling into child methods. This breaks many aspects of good design and modularity.&lt;/p&gt;

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

&lt;p&gt;For sharded nodes, OpObserverImpl should be registered and perform its usual behavior explicitly.&lt;/p&gt;

&lt;p&gt;For the few actual dependencies on OpTime acquisition in OpObserverImpl, OpObserverImpl will call into OpObserverShardingImpl which will no longer be a child class.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2318110">SERVER-76271</key>
            <summary>Remove OpObserverShardingImpl Dependency on OpObserverImpl</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="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="benety.goh@mongodb.com">Benety Goh</assignee>
                                    <reporter username="matt.kneiser@mongodb.com">Matt Kneiser</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Apr 2023 00:10:01 +0000</created>
                <updated>Sun, 29 Oct 2023 21:22:50 +0000</updated>
                            <resolved>Mon, 5 Jun 2023 14:20:08 +0000</resolved>
                                                    <fixVersion>7.1.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="5473580" author="xgen-internal-githook" created="Sun, 4 Jun 2023 23:50:20 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76271&quot; title=&quot;Remove OpObserverShardingImpl Dependency on OpObserverImpl&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76271&quot;&gt;&lt;del&gt;SERVER-76271&lt;/del&gt;&lt;/a&gt; remove OpObserverShardingImpl&lt;/p&gt;

&lt;p&gt;All the functionnality in this class has been moved to MigrationChunkClonerSourceOpObserver.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/81f7b92ba4125b350cdddea253cddb578884f71f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/81f7b92ba4125b350cdddea253cddb578884f71f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5473426" author="xgen-internal-githook" created="Sun, 4 Jun 2023 18:31:25 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76271&quot; title=&quot;Remove OpObserverShardingImpl Dependency on OpObserverImpl&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76271&quot;&gt;&lt;del&gt;SERVER-76271&lt;/del&gt;&lt;/a&gt; move OpObserverShardingImpl::shardObserveInsertOps() logic to MigrationChunkClonerSourceOpObserver&lt;/p&gt;

&lt;p&gt;Co-authored-by: Matt Kneiser &amp;lt;matt.kneiser@mongodb.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/18170b4af4909fa31fe49f8ee3a5abbce0757e0d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/18170b4af4909fa31fe49f8ee3a5abbce0757e0d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5473410" author="xgen-internal-githook" created="Sun, 4 Jun 2023 17:30:00 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76271&quot; title=&quot;Remove OpObserverShardingImpl Dependency on OpObserverImpl&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76271&quot;&gt;&lt;del&gt;SERVER-76271&lt;/del&gt;&lt;/a&gt; move OpObserverShardingImpl::shardObserveUpdateOp() logic to MigrationChunkClonerSourceOpObserver&lt;/p&gt;

&lt;p&gt;Co-authored-by: Matt Kneiser &amp;lt;matt.kneiser@mongodb.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5525c0d66609d4b57c3c615ec47a46bb871f6dfc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5525c0d66609d4b57c3c615ec47a46bb871f6dfc&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5472794" author="xgen-internal-githook" created="Sat, 3 Jun 2023 20:11:47 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76271&quot; title=&quot;Remove OpObserverShardingImpl Dependency on OpObserverImpl&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76271&quot;&gt;&lt;del&gt;SERVER-76271&lt;/del&gt;&lt;/a&gt; support passing ShardingWriteRouter between OpObserver callbacks as an op accumulator decoration&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/73e94842afb1d7b71324c66aa431fd965a7ddeea&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/73e94842afb1d7b71324c66aa431fd965a7ddeea&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5472661" author="xgen-internal-githook" created="Sat, 3 Jun 2023 16:26:55 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76271&quot; title=&quot;Remove OpObserverShardingImpl Dependency on OpObserverImpl&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76271&quot;&gt;&lt;del&gt;SERVER-76271&lt;/del&gt;&lt;/a&gt; defer retrieving doc key in MigrationChunkClonerSourceOpObserver::onDelete()&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/87d48e1143964aee16f069d950c29ca4c04d0825&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/87d48e1143964aee16f069d950c29ca4c04d0825&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5472347" author="xgen-internal-githook" created="Sat, 3 Jun 2023 12:57:30 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76271&quot; title=&quot;Remove OpObserverShardingImpl Dependency on OpObserverImpl&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76271&quot;&gt;&lt;del&gt;SERVER-76271&lt;/del&gt;&lt;/a&gt; migrate op_observer_util.h from mongo::repl to mongo namespace&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1d0be827e37742b931076d71033305e196fd1199&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1d0be827e37742b931076d71033305e196fd1199&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5418915" author="benety.goh" created="Thu, 11 May 2023 19:38:58 +0000"  >&lt;p&gt;Thanks for the suggestion. We will take that into account as we try to simplify the current structure. The current state is not ideal either.&lt;/p&gt;</comment>
                            <comment id="5414936" author="kaloian.manassiev" created="Wed, 10 May 2023 15:52:05 +0000"  >&lt;p&gt;Given that we will not have &quot;non-sharded&quot; nodes why bother with decoupling these libraries at all rather than putting them in the same library?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2320331">SERVER-76369</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2051502">SERVER-66612</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2340827">SERVER-77121</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2341577">SERVER-77157</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2344222">SERVER-77258</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2344726">SERVER-77284</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2347161">SERVER-77366</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2349097">SERVER-77418</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2350728">SERVER-77482</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2350765">SERVER-77484</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2356980">SERVER-77731</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2266827">SERVER-74121</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1389674">SERVER-49086</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="570534">SERVER-36084</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>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.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>Mon, 24 Apr 2023 22:02:23 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        35 weeks, 3 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-76369'>SERVER-76369</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-2780</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>
                            35 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>benety.goh@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>matt.kneiser@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i25aov:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1od4y:i</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="7177">Execution Team 2023-05-29</customfieldvalue>
    <customfieldvalue id="7178">Execution Team 2023-06-12</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|i24wu7:</customfieldvalue>

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