<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:26:46 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-31356] make OplogEntry immutable</title>
                <link>https://jira.mongodb.org/browse/SERVER-31356</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Current definition of == compares the &apos;raw&apos; member variable. The &apos;raw&apos; variable is only set in the constructor. If the object is mutated after, for example, calling setFromMigrate(), then it will no longer match the actual object.&lt;/p&gt;</description>
                <environment></environment>
        <key id="438772">SERVER-31356</key>
            <summary>make OplogEntry immutable</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="benety.goh@mongodb.com">Benety Goh</assignee>
                                    <reporter username="randolph@mongodb.com">Randolph Tan</reporter>
                        <labels>
                            <label>neweng</label>
                    </labels>
                <created>Mon, 2 Oct 2017 21:24:51 +0000</created>
                <updated>Mon, 30 Oct 2023 23:13:09 +0000</updated>
                            <resolved>Wed, 8 Nov 2017 03:26:31 +0000</resolved>
                                    <version>3.5.13</version>
                                    <fixVersion>3.6.0-rc4</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="1720028" author="xgen-internal-githook" created="Wed, 8 Nov 2017 03:26:05 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31356&quot; title=&quot;make OplogEntry immutable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31356&quot;&gt;&lt;del&gt;SERVER-31356&lt;/del&gt;&lt;/a&gt; remove unused OplogEntry constructors&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5ab490e943395019a08ed088290aa462d8e310ad&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5ab490e943395019a08ed088290aa462d8e310ad&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1720014" author="xgen-internal-githook" created="Wed, 8 Nov 2017 02:43:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31356&quot; title=&quot;make OplogEntry immutable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31356&quot;&gt;&lt;del&gt;SERVER-31356&lt;/del&gt;&lt;/a&gt; update the following tests to use new OplogEntry constructor&lt;/p&gt;

&lt;p&gt;AbstractOplogFetcher&lt;br/&gt;
InitialSyncerTest&lt;br/&gt;
MultiApplierTest&lt;br/&gt;
SyncSourceResolverTest&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c5d53097eb9090e293410d6667187261e9ff09e7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c5d53097eb9090e293410d6667187261e9ff09e7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1719702" author="xgen-internal-githook" created="Tue, 7 Nov 2017 20:12:25 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31356&quot; title=&quot;make OplogEntry immutable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31356&quot;&gt;&lt;del&gt;SERVER-31356&lt;/del&gt;&lt;/a&gt; make OplogEntry immutable&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1359451aec50864d923d8493a9b3f07949548cf2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1359451aec50864d923d8493a9b3f07949548cf2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1719659" author="xgen-internal-githook" created="Tue, 7 Nov 2017 19:39:47 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31356&quot; title=&quot;make OplogEntry immutable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31356&quot;&gt;&lt;del&gt;SERVER-31356&lt;/del&gt;&lt;/a&gt; update the following unit tests to not mutate OplogEntry after construction&lt;/p&gt;

&lt;p&gt;ChangeStreamStageTest&lt;br/&gt;
SessionCatalogMigrationDestinationTest&lt;br/&gt;
SessionCatalogMigrationSourceTest&lt;br/&gt;
SessionHistoryIteratorTest&lt;br/&gt;
SessionTest&lt;br/&gt;
SyncTailTest&lt;br/&gt;
WriteOpsRetryabilityTest&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a8b621d8a3ac790ac95d17323fe8b66558b3cb3f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a8b621d8a3ac790ac95d17323fe8b66558b3cb3f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1719419" author="xgen-internal-githook" created="Tue, 7 Nov 2017 16:45:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31356&quot; title=&quot;make OplogEntry immutable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31356&quot;&gt;&lt;del&gt;SERVER-31356&lt;/del&gt;&lt;/a&gt; SessionCatalogMigrationSource no longer mutates OplogEntry after construction&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d20d01aedf7fac426fe60ba18c1bc59ce97ca060&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d20d01aedf7fac426fe60ba18c1bc59ce97ca060&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1719291" author="xgen-internal-githook" created="Tue, 7 Nov 2017 15:29:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31356&quot; title=&quot;make OplogEntry immutable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31356&quot;&gt;&lt;del&gt;SERVER-31356&lt;/del&gt;&lt;/a&gt; add OplogEntry constructor to support uuid and transaction related fields&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a89d0886d305e07c2e07b4ed53c9dbda52f5fb17&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a89d0886d305e07c2e07b4ed53c9dbda52f5fb17&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1691930" author="spencer" created="Fri, 6 Oct 2017 20:15:06 +0000"  >&lt;p&gt;It is required for 3.6 that we at least audit users of OplogEntry to see if any are mutating them while also using == or checking the &apos;raw&apos; member&lt;/p&gt;</comment>
                            <comment id="1691924" author="spencer" created="Fri, 6 Oct 2017 20:13:20 +0000"  >&lt;p&gt;One possible fix for this would be to just make OplogEntry immutable&lt;/p&gt;</comment>
                            <comment id="1687219" author="renctan" created="Mon, 2 Oct 2017 22:26:34 +0000"  >&lt;p&gt;&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; I ran into this while writing C++ tests. So far, I don&apos;t think I use it on anything else explicitly. On the other hand, this function can potentially be called in places where it would be hard to trace, for example,  unordered_map&amp;lt;OplogEntry&amp;gt;. So, it would be beneficial to have the == be correct in all cases.&lt;/p&gt;</comment>
                            <comment id="1687199" author="judah.schvimer" created="Mon, 2 Oct 2017 22:08:11 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-29200&quot; title=&quot;Limit access to OplogEntry::raw&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-29200&quot;&gt;&lt;del&gt;SERVER-29200&lt;/del&gt;&lt;/a&gt; was made to remove the raw member. We unfortunately read from it in many places. If we want OplogEntry to be correctly mutable, we may need to first do that ticket as well.&lt;/p&gt;</comment>
                            <comment id="1687120" author="spencer" created="Mon, 2 Oct 2017 21:27:03 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=renctan&quot; class=&quot;user-hover&quot; rel=&quot;renctan&quot;&gt;renctan&lt;/a&gt;, can you comment a little more on the scope of this bug?  How was it found?  Is this causing an actual user-visible bug in any features that utilize this code, or this this just a defensive ticket to prevent it from being misused in the future?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="452049">SERVER-31753</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="450250">SERVER-31705</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="487757">SERVER-32918</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="586381">SERVER-36570</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="383528">SERVER-29200</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>11.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>Mon, 2 Oct 2017 21:27:03 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        6 years, 14 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_14262" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 6 Oct 2017 00:00:00 +0000</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>
                            6 years, 14 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>benety.goh@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>randolph@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|htgq8v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|ht8lvj:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1931">Repl 2017-11-13</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14261" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 2 Oct 2017 00:00:00 +0000</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_11861" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>User Summary</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11856"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htgcc7:</customfieldvalue>

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