<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:54:01 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-40099] Add server side write concern option</title>
                <link>https://jira.mongodb.org/browse/SERVER-40099</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Feature request: Add write concern option on the server side which will overwrite write concern options sent by a driver&lt;/p&gt;</description>
                <environment></environment>
        <key id="715944">SERVER-40099</key>
            <summary>Add server side write concern option</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="12300">Won&apos;t Do</resolution>
                                        <assignee username="dmitry.agranat@mongodb.com">Dmitry Agranat</assignee>
                                    <reporter username="dmitry.agranat@mongodb.com">Dmitry Agranat</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Mar 2019 04:24:13 +0000</created>
                <updated>Mon, 4 May 2020 22:38:43 +0000</updated>
                            <resolved>Fri, 7 Feb 2020 15:50:02 +0000</resolved>
                                                                                        <votes>1</votes>
                                    <watches>16</watches>
                                                                                                                <comments>
                            <comment id="2205399" author="sheeri.cabral" created="Mon, 8 Apr 2019 17:06:54 +0000"  >&lt;p&gt;It&apos;s a HUGE anti-pattern to have a server-side default override a client-side parameter. I understand that many operators use the defaults out of the box and get behavior they do not want. I think having a specific flag would work for people already embroiled in this problem, but it does nothing to solve the root cause - whether the cause is not enough education on our part, bad defaults, etc.&lt;/p&gt;

&lt;p&gt;I worry about a MongoDB server where different drivers are used against the same MongoDB - if there&apos;s a server-wide &quot;yes, override&quot; flag that gets turned on, there could be different parts of the org that override on purpose, and then they would have an unexpected behavior change if a centralized DBA team decides to turn the flag on.&lt;/p&gt;

&lt;p&gt;Is this intended as a stopgap or workaround so that there is enough time/capacity to continue operations while the proper writeConcern is implemented at the driver level? Or will this be put in place permanently - which can be a problem down the line for a heterogeneous environment, as stated in the previous paragraph.&lt;/p&gt;

&lt;p&gt;Also I&apos;m not understanding why &lt;a href=&quot;#rsconf.settings.getLastErrorDefaults&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;getLastErrorDefaults&lt;/a&gt;] is not sufficient - it is server-side on the replica-set level, and allows explicit driver overrides but not if the driver is using the default, which seems to be what is desired?&lt;/p&gt;

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

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="2182633" author="schwerin" created="Mon, 18 Mar 2019 00:24:10 +0000"  >&lt;p&gt;Sure. If those were the only behaviors you could force, it would make sense. I guess I could imagine requiring a union or supplied write concerns. It depends on how sophisticated application developers are. Sometimes setting the write concern stronger than requested can break an application&apos;s behavior, but I&apos;d expect that only for fairly sophisticated apps.&lt;/p&gt;

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

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dmitry.agranat&quot; class=&quot;user-hover&quot; rel=&quot;dmitry.agranat&quot;&gt;dmitry.agranat&lt;/a&gt;, you said&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;But we force users to do this anyway when write concern majority is set to less than majority and it causes clusters crush/unresponsiveness/unavailability.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;But I don&apos;t know what you mean about &quot;when write concern majority is set to less than majority&quot;. Can you give a specific example or clarify?&lt;/p&gt;</comment>
                            <comment id="2181558" author="kaloian.manassiev" created="Fri, 15 Mar 2019 12:37:56 +0000"  >&lt;p&gt;When you add these secondary dimensions, yes I agree they are not ordered. I was referring to the ordering between {w:majority} and {w:local}.&lt;/p&gt;</comment>
                            <comment id="2181389" author="schwerin" created="Thu, 14 Mar 2019 23:58:13 +0000"  >&lt;p&gt;Write concerns are not totally ordered. Is { j: true } stronger or weaker than { w: 1 }? How does&#160;{ w: &quot;myTag1&quot; } compare to { w: &quot;myTag2&quot; } or&#160;{ w: 2 }?&lt;/p&gt;</comment>
                            <comment id="2180787" author="daniel.hatcher" created="Thu, 14 Mar 2019 14:34:05 +0000"  >&lt;p&gt;An alternative that accomplishes the same goal would be to set a &quot;minimum&quot; write concern on the server and outright reject writes that do not match it. But I think the overriding is a more elegant process.&lt;/p&gt;</comment>
                            <comment id="2180639" author="kaloian.manassiev" created="Thu, 14 Mar 2019 11:43:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=schwerin&quot; class=&quot;user-hover&quot; rel=&quot;schwerin&quot;&gt;schwerin&lt;/a&gt;, I couldn&apos;t think of how overriding the write concern from lower (local) to anything higher could impact the correctness of the application. What did you have in mind?&lt;/p&gt;</comment>
                            <comment id="2180519" author="dmitry.agranat" created="Thu, 14 Mar 2019 06:45:00 +0000"  >&lt;p&gt;But we force users to do this anyway when write concern majority is set to less than majority and it causes clusters crush/unresponsiveness/unavailability. So in assents, we are just helping developers to save a lot of their time on doing something that we can do instead, in an instant. Remember, this feature will be off by default. Only when required / agreed upon by a user, we will turn it on.&lt;/p&gt;</comment>
                            <comment id="2180511" author="schwerin" created="Thu, 14 Mar 2019 05:30:37 +0000"  >&lt;p&gt;I&#8217;d like &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=alyson.cabral&quot; class=&quot;user-hover&quot; rel=&quot;alyson.cabral&quot;&gt;alyson.cabral&lt;/a&gt;&#8217;s feedback on this request. I worry that overriding the user-supplied write concern could affect the correctness of an application. Perhaps we could prohibit some users from supplying their own read and write concerns, instead?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </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>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000dNQBcQAO, 500A000000YfjPPIAZ, 500A000000a89keIAA, 500A000000aPPoXIAW, 500A000000asLN1IAM, 500A000000arP6IIAU, 500A000000arzRvIAI, 500A000000atIISIA2, 500A000000aujmDIAQ, 500A000000b8gFeIAI, 500A000000bAk1VIAS, 500A000000bzTp1IAE, 500A000000Zstt1IAB, 500A000000cCwW8IAK, 500A000000cRh33IAC, 500A000000cd7TRIAY, 500A000000cS9glIAC, 5002K00000dC1QrQAK, 5002K00000dZ0TBQA0, 5002K00000dbDcGQAU, 5002K00000dXTNwQAO, 5002K00000f1ElmQAE, 5002K00000gljLlQAI]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 13 Mar 2019 10:14:15 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 44 weeks, 2 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>nuno.costa@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 44 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>daniel.hatcher@mongodb.com</customfieldvalue>
            <customfieldvalue>dmitry.agranat@mongodb.com</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>sheeri.cabral</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|huqnvj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hugawn:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="3199">Sharding 2019-09-23</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>
                                    <customfieldvalue><![CDATA[dmitry.agranat@mongodb.com]]></customfieldvalue>
    

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

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