<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:08:04 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-67412] Remove support for parsing $v:1 oplog entries in change streams</title>
                <link>https://jira.mongodb.org/browse/SERVER-67412</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Once &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50301&quot; title=&quot;Delete code which handles $v:1 update oplog entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50301&quot;&gt;&lt;del&gt;SERVER-50301&lt;/del&gt;&lt;/a&gt; lands, there will still be some code remaining to handle the parsing of $v:1 oplog entries in the context of change streams. This ticket tracks the work to remove any such remaining code.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2073410">SERVER-67412</key>
            <summary>Remove support for parsing $v:1 oplog entries in change streams</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="mohammad.dashti@mongodb.com">Mohammad Dashti</assignee>
                                    <reporter username="mihai.andrei@mongodb.com">Mihai Andrei</reporter>
                        <labels>
                            <label>query-director-triage</label>
                            <label>quick-tech-debt</label>
                    </labels>
                <created>Tue, 21 Jun 2022 16:24:39 +0000</created>
                <updated>Sun, 29 Oct 2023 21:36:38 +0000</updated>
                            <resolved>Sat, 4 Feb 2023 03:36:58 +0000</resolved>
                                                    <fixVersion>6.3.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="5167766" author="xgen-internal-githook" created="Sat, 4 Feb 2023 02:49:03 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Mohammad Dashti&apos;, &apos;email&apos;: &apos;mdashti@gmail.com&apos;, &apos;username&apos;: &apos;mdashti&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-67412&quot; title=&quot;Remove support for parsing $v:1 oplog entries in change streams&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-67412&quot;&gt;&lt;del&gt;SERVER-67412&lt;/del&gt;&lt;/a&gt; Removed support for parsing &apos;$v:1&apos; oplog entries in change streams&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ea2db11ad2889935f4922905794dc032dafb102a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ea2db11ad2889935f4922905794dc032dafb102a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5096853" author="david.storch" created="Fri, 6 Jan 2023 21:00:53 +0000"  >&lt;p&gt;Dropping back in the triage queue per Bernard&apos;s latest comment above.&lt;/p&gt;</comment>
                            <comment id="5072562" author="bernard.gorman" created="Thu, 22 Dec 2022 13:30:01 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=arun.banala%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;arun.banala@mongodb.com&quot;&gt;arun.banala@mongodb.com&lt;/a&gt;: do you mean remove it for 7.0, since &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.storch%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;david.storch@mongodb.com&quot;&gt;david.storch@mongodb.com&lt;/a&gt; seems to be talking about doing this ticket immediately? By the time we release 8.0 the 4.4 branch will be EOL anyway, so the question is somewhat moot.&lt;/p&gt;

&lt;p&gt;I think it&apos;s pretty safe to remove the code at this point; as Arun mentioned above, the only case where it could cause an issue would be if someone upgraded from 4.4 to 7.0 fast enough to leave &lt;tt&gt;v1&lt;/tt&gt; entries in the oplog, and then attempted to resume a change stream from a point in time where the node was still running 4.4. That seems extremely unlikely, but in the case where a user &lt;b&gt;&lt;em&gt;did&lt;/em&gt;&lt;/b&gt; find themselves in that position we&apos;d have no way to remediate the issue except by telling them to open a new stream at a later &lt;tt&gt;clusterTime&lt;/tt&gt;. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kateryna.kamenieva%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;kateryna.kamenieva@mongodb.com&quot;&gt;kateryna.kamenieva@mongodb.com&lt;/a&gt;, what do you think?&lt;/p&gt;

&lt;p&gt;One thing we should definitely make sure to do whenever we remove this code, is to &lt;tt&gt;uassert&lt;/tt&gt; that we&apos;re seeing a &lt;tt&gt;v2&lt;/tt&gt; entry in the change stream parser. In the edge case where change streams sees an unexpected or outdated oplog entry, our policy is that it will throw rather than risk crashing or producing undefined behaviour.&lt;/p&gt;</comment>
                            <comment id="5070999" author="arun.banala" created="Wed, 21 Dec 2022 19:03:16 +0000"  >&lt;p&gt;If we remove this &lt;a href=&quot;https://github.com/mongodb/mongo/blob/42667e3c762bd83d700696ec4635e41fb8471c0f/src/mongo/db/pipeline/change_stream_event_transform.cpp#L221-L248&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;else if&lt;/a&gt; block we will remove support for changes parsing $v:1 updates. Looks like there is also some additional cleanup related $v:1 entries that Mihai mentioned above. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kateryna.kamenieva%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;kateryna.kamenieva@mongodb.com&quot;&gt;kateryna.kamenieva@mongodb.com&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bernard.gorman%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;bernard.gorman@mongodb.com&quot;&gt;bernard.gorman@mongodb.com&lt;/a&gt; Do you think it&apos;s safe to remove change streams parsing $v:1 updates for 8.0? We have stopped logging $v:1 entries in 5.0. So we will have three releases that support reading the 4.4 $v:1 oplog entries(assuming users won&apos;t quickly upgrade from 4.4 -&amp;gt; 5.0 -&amp;gt; 6.0 -&amp;gt; 8.0 and open change streams on an earlier Timestamp). Or do you have to wait till 4.4 is EOL?&lt;/p&gt;</comment>
                            <comment id="5061547" author="mihai.andrei" created="Fri, 16 Dec 2022 22:24:25 +0000"  >&lt;p&gt;I would be in favor of scheduling this, but I can&apos;t remember what work is actually involved here. One useful bit of information though, would be to delete &lt;a href=&quot;https://github.com/mongodb/mongo/blob/ab506f144f44e24addaccbcb755b8d99e7ef29c3/src/mongo/db/update/update_oplog_entry_serialization.cpp#L114-L120&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the following $v: 1 handling code and see if it breaks anything&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5060196" author="david.storch" created="Fri, 16 Dec 2022 14:33:35 +0000"  >&lt;p&gt;Marking for re-triage. I&apos;d be in favor of putting in the effort to strip out any old code related to $v:1 oplog entries. $v:1 has been superseded by $v:2 for some time. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mihai.andrei%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;mihai.andrei@mongodb.com&quot;&gt;mihai.andrei@mongodb.com&lt;/a&gt; do you have an estimate for how hard this ticket is? If it&apos;s pretty straightforward, I say we just do it.&lt;/p&gt;</comment>
                            <comment id="5029702" author="JIRAUSER1257467" created="Mon, 5 Dec 2022 15:00:27 +0000"  >&lt;p&gt;Cancel&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2245179">SERVER-73382</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>7.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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25125"><![CDATA[Query Execution]]></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, 5 Dec 2022 15:00:27 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 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>
                            1 year, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ana.meza@mongodb.com</customfieldvalue>
            <customfieldvalue>arun.banala@mongodb.com</customfieldvalue>
            <customfieldvalue>bernard.gorman@mongodb.com</customfieldvalue>
            <customfieldvalue>david.storch@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>mihai.andrei@mongodb.com</customfieldvalue>
            <customfieldvalue>mohammad.dashti@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0zf73:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0ia20:</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="5930">QE 2023-02-06</customfieldvalue>
    <customfieldvalue id="5932">QE 2023-02-20</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|i0z1cf:</customfieldvalue>

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