<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:23: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>[DRIVERS-1307] Investigate changes in PM-1096: Initial Sync Semantics</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-1307</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>
    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;background-color: #239eb0;&quot;&gt;&lt;b&gt;Downstream Change Summary&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2&gt;&lt;a name=&quot;DescriptionofLinkedTicket&quot;&gt;&lt;/a&gt;Description of Linked Ticket&lt;/h2&gt;
    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-color: #ccc;border-style: dashed;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: dashed;border-bottom-color: #ccc;background-color: #239eb0;&quot;&gt;&lt;b&gt;Epic Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h4&gt;
&lt;p&gt;When a node is added to a replica set and goes into initial sync, its addition has an effect on the availability and durability guarantees of the replica set, both while it is in the STARTUP2 state and for some time after it transitions to SECONDARY.  Those effects are poorly understood, difficult to reason about, and may not be what people expect.  We should modify our behavior such that we no longer break any guarantees as part of initial sync, and generally bring our behavior more in line with user expectations.&lt;/p&gt;


&lt;h4&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;Motivation&lt;/h4&gt;
&lt;p&gt;There are two main problems with initial sync semantics currently.  One is that when adding a new voting node it becomes possible for writes acknowledged with w:majority to rollback.  This can happen both for new writes that the initial syncing node acknowledges in the case when the initial sync then fails, as well as for writes that had previously been acknowledged before the initial syncing node was added to the set (and changes the definition of majority in the process).&lt;/p&gt;

&lt;p&gt;The second problem with initial sync semantics is that since the switch to timestamp-based rollback in 4.0, it is now the case that if a node needs to roll back after completing initial sync but before committing a new operation as SECONDARY, the rollback will fail with an UnrecoverableRollbackError and need a full resync.  In earlier versions with rollback via refetch, the rollback would succeed.  A full resync can also be required if the node crashes during that same time window.  Users may not expect this new behavior, and so it&#8217;d be nice to return to the world where once a node has exited the STARTUP2 state and transitioned to SECONDARY that it is stable and able to do anything another secondary in the set will be capable of doing.&lt;/p&gt;


&lt;h4&gt;&lt;a name=&quot;Documentation&quot;&gt;&lt;/a&gt;Documentation&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;https://tinyurl.com/rbb4xxy&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Scope Document&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://goo.gl/hpQWJ5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Design Document&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://goo.gl/Pk38fT&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;(ARCHIVED) Scope Document&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
        <key id="1392204">DRIVERS-1307</key>
            <summary>Investigate changes in PM-1096: Initial Sync Semantics</summary>
                <type id="11" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14707&amp;avatarType=issuetype">Epic</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Jun 2020 16:13:14 +0000</created>
                <updated>Fri, 27 May 2022 01:27:44 +0000</updated>
                            <resolved>Mon, 29 Jun 2020 16:47:23 +0000</resolved>
                                                                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3228445" author="esha.bhargava" created="Mon, 29 Jun 2020 16:47:23 +0000"  >&lt;p&gt;No Drivers changes needed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxevmf:</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_22279" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Server Compat</customfieldname>
                        <customfieldvalues>
                                        <label>4.9</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>