<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 07:51:54 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>[DOCS-6237] claims about read and write concerns are vague or too strong</title>
                <link>https://jira.mongodb.org/browse/DOCS-6237</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;p&gt;Fixing this is likely to make users happier and avoid bad PR, as incorrect and too strong claims in the docs were part of the motivation for the Call Me Maybe posts about MongoDB.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;From &lt;a href=&quot;http://docs.mongodb.org/master/core/write-concern/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.mongodb.org/master/core/write-concern/&lt;/a&gt;&lt;br/&gt;
&quot;With replica acknowledged write concern, you can guarantee that the write operation propagates to additional members of the replica set&quot;&lt;/p&gt;

&lt;p&gt;That is not guaranteed. The feature provided is that writes are not acknowledged until a majority of the replica set has received the change. But there is no guarantee that the change reaches a majority as the master can fail while waiting for that to happen.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;From &lt;a href=&quot;http://docs.mongodb.org/master/core/replica-set-write-concern/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.mongodb.org/master/core/replica-set-write-concern/&lt;/a&gt;&lt;br/&gt;
&quot;Use of insufficient write concern can lead to rollbacks in the case of replica set failover. Always ensure that your operations have specified the required write concern for your application.&quot;&lt;/p&gt;

&lt;p&gt;There are at least 3 types of rollbacks:&lt;br/&gt;
1) committed to master, visible to nobody, not acknowledged&lt;br/&gt;
2) committed to master, visible to somebody, not acknowledged&lt;br/&gt;
3) committed to master, visible to nobody, acknowledged&lt;br/&gt;
4) committed to master, visible to somebody, acknowledged&lt;/p&gt;

&lt;p&gt;For #1, we can pretend the commit didn&apos;t happen and rollback doesn&apos;t matter.&lt;/p&gt;

&lt;p&gt;Write concern majority avoids #3 and #4&lt;/p&gt;

&lt;p&gt;Write concern majority doesn&apos;t prevent #2. Read concern majority in 3.2 will help with that.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;From &lt;a href=&quot;http://docs.mongodb.org/master/applications/replication/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.mongodb.org/master/applications/replication/&lt;/a&gt;&lt;br/&gt;
&quot;In MongoDB, clients can see the results of writes before they are made durable:&lt;br/&gt;
Regardless of write concern, other clients can see the result of the write operations before the write operation is acknowledged to the issuing client.&quot;&lt;/p&gt;

&lt;p&gt;This is only true for mmapv1&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;http://docs.mongodb.org/master/core/replica-set-rollbacks/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.mongodb.org/master/core/replica-set-rollbacks/&lt;/a&gt;&lt;br/&gt;
&quot;Regardless of write concern, other clients can see the result of the write operations before the write operation is acknowledged to the issuing client.&quot;&lt;/p&gt;

&lt;p&gt;I forgot the answer. Does WiredTiger release its equivalent of row locks while waiting for secondaries to acknowledge?&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;From &lt;a href=&quot;http://docs.mongodb.org/master/reference/write-concern/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.mongodb.org/master/reference/write-concern/&lt;/a&gt;&lt;br/&gt;
&quot;Confirms that write operations have propagated to the majority of voting nodes: a majority of the replica set&#8217;s voting members must acknowledge the write operation before it succeeds. This allows you to avoid hard coding assumptions about the size of your replica set into your application.&quot;&lt;/p&gt;

&lt;p&gt;I would change the first sentence to &quot;Confirms that write operations have propagated to the majority of voting nodes before acknowledging the write&quot;. As written the first part of the sentence claims something stronger. I also assume that &quot;reach&quot; means that secondaries have the change in their log, but might not have applied the change. So a read on the secondary after doing the write on the master might not see the change.&lt;/p&gt;</description>
                <environment></environment>
        <key id="230424">DOCS-6237</key>
            <summary>claims about read and write concerns are vague or too strong</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="9">Done</resolution>
                                        <assignee username="kay.kim@mongodb.com">Kay Kim</assignee>
                                    <reporter username="mdcallag">Mark Callaghan</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Sep 2015 13:08:36 +0000</created>
                <updated>Wed, 24 Feb 2016 20:21:57 +0000</updated>
                            <resolved>Thu, 17 Dec 2015 18:40:53 +0000</resolved>
                                    <version>mongodb-3.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="1117379" author="kay.kim@10gen.com" created="Thu, 17 Dec 2015 18:40:53 +0000"  >&lt;p&gt;Thanks Mark!  We&apos;ve cleaned up the write concerns a bit (we seemed to have sprinkled sentences here and there) and tried to tidy up where we talk about it.  As for your question about WT, yes to releasing its equivalent of row locks.  We&apos;ll continue to streamline and remove ambiguities to provide a clearer, more coherent information.&lt;/p&gt;

&lt;p&gt;Regards,&lt;/p&gt;

&lt;p&gt;Kay Kim&lt;/p&gt;</comment>
                            <comment id="1034176" author="kay.kim@10gen.com" created="Fri, 18 Sep 2015 14:02:59 +0000"  >&lt;p&gt;Thanks so much.  Appreciated as always.  Scheduled for next sprint which starts on Monday.  &lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 18 Sep 2015 14:02:59 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        8 years, 8 weeks, 6 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_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>jess.mokrzecki@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 8 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>kay.kim@mongodb.com</customfieldvalue>
            <customfieldvalue>mdcallag</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrq35r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsd76n:</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="753">Docs Sprint 2015 (Dec14-Jan1)</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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hryzmv:</customfieldvalue>

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