<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:22:41 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-966] &apos;CommitQuorum&apos; option support for &apos;createIndexes&#8217; command on MongoDB 4.4</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-966</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&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;p&gt;&#160;&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h4&gt;
&lt;p&gt;Execution team has introduced a new option named &#8216;commitQuorum&#8217; to &#8216;createIndexes&#8217; command as part of PM-253 (Two phase commit for index build). &#8216;commitQuorum&#8217; is very similar to writeConcern options which can accept an integer or a string - &#8220;majority&#8221;and custom write concern option. In addition to those values, the new &#8216;commitQuorum&#8217; option will also accept &#8220;votingMembers&#8221; string value. A primary node that coordinates an index build can&#8217;t complete an index build until it has received votes from secondaries stating that they have each finished collection scanning and draining phase for that index build. The number of votes the primary has to wait before committing an index depends on the commitQuorum option&#8217;s value. The primary is also eligible to vote and it will vote for itself.   &lt;/p&gt;

&lt;p&gt;The main purpose of this new &#8216;commitQuorum&#8217; option is to prevent slow secondaries replication from getting blocked on applying &#8216;commitIndexBuild&#8217; oplog entry waiting for the index build completion on that secondary.   &lt;/p&gt;

&lt;p&gt;The current default value for the &#8216;commitQuorum&#8217; option in 4.4 RC0 is &#8220;majority&#8221;, i.e., majority of voting data bearing nodes. Currently, some implementation issues with initial sync and abort index build logic have prevented us from making the default value for &#8216;commitQuorum&#8217; as &#8216;votingMembers&#8217;,  i.e., all voting data bearing nodes.  For MongoDB 4.4 GA, the default value for &#8216;commitQuorum&#8217; will be &#8216;votingMembers&#8217; and we are working towards making the default value change (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46823&quot; title=&quot;Enable default for index commit quorum as &amp;quot;votingMembers&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46823&quot;&gt;&lt;del&gt;SERVER-46823&lt;/del&gt;&lt;/a&gt;).   &lt;/p&gt;

&lt;p&gt;For a quick reference, if a user wants to create an index &#8216;x_1&#8217; on foo.bar collection with a commit quorum value as &#8220;votingMembers&#8221;, then the shell syntax will be:      &lt;/p&gt;

&lt;p&gt;&amp;gt;&amp;gt; db.runCommand(&lt;br/&gt;
{createIndexes: &#8220;bar&#8221;,          &lt;br/&gt;
indexes: &lt;span class=&quot;error&quot;&gt;&amp;#91;{name: &amp;quot;x_1&amp;quot;, key: {x: 1}}&amp;#93;&lt;/span&gt;,           &lt;br/&gt;
commitQuorum: &quot;votingMembers&quot;});  &lt;/p&gt;

&lt;p&gt;Say, if it&#8217;s a 3 node replica set (PSA), then the primary index build will wait for 2 votes (PS) to commit the index build.&#160;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
        <key id="1278573">DRIVERS-966</key>
            <summary>&apos;CommitQuorum&apos; option support for &apos;createIndexes&#8217; command on MongoDB 4.4</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="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="esha.bhargava@mongodb.com">Esha Bhargava</reporter>
                        <labels>
                    </labels>
                <created>Tue, 17 Mar 2020 19:36:26 +0000</created>
                <updated>Tue, 21 Feb 2023 17:04:27 +0000</updated>
                            <resolved>Tue, 21 Feb 2023 17:04:27 +0000</resolved>
                                                                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="3053410" author="divjot.arora" created="Thu, 23 Apr 2020 20:04:17 +0000"  >&lt;p&gt;If anyone wants to link to the official docs for this in their driver documentation, this link should work:&#160;&lt;a href=&quot;http://dochub.mongodb.org/core/index-commit-quorum&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;dochub.mongodb.org/core/index-commit-quorum&lt;/a&gt;. CC &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ravind.kumar&quot; class=&quot;user-hover&quot; rel=&quot;ravind.kumar&quot;&gt;ravind.kumar&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3043379" author="patrick.freed" created="Thu, 16 Apr 2020 20:54:43 +0000"  >&lt;p&gt;Support for this option requires driver side wire version checks, so drivers that just pass options along via dictionaries or keyword arguments are not automatically compliant.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="1318317">CXX-1998</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318322">PHPLIB-544</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318316">CDRIVER-3627</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318318">CSHARP-3064</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318319">GODRIVER-1582</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318320">JAVA-3701</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1305801">MOTOR-524</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318321">NODE-2569</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1305802">PYTHON-2186</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318323">RUBY-2221</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1318324">RUST-382</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_20965" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Cost Threshold %</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>100.0</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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11861"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10940"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-524'>MOTOR-524</a>
    </td>
    <td>Works as Designed</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-2186'>PYTHON-2186</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.11</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-3627'>CDRIVER-3627</a>
    </td>
    <td>Won't Do</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-1998'>CXX-1998</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.6.0-rc0, 3.6.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-3064'>CSHARP-3064</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.11.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-1582'>GODRIVER-1582</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.4.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-3701'>JAVA-3701</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>4.1.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-2569'>NODE-2569</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.6.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPLIB-544'>PHPLIB-544</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.7.0-beta2, 1.7.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-2221'>RUBY-2221</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.13.0.beta1</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-382'>RUST-382</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-807'>SWIFT-807</a>
    </td>
    <td>Won't Do</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10860" key="com.pyxis.greenhopper.jira:gh-epic-color">
                        <customfieldname>Epic Colour</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ghx-label-4</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10858" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&amp;#39;CommitQuorum&amp;#39; option support for &amp;#39;createIndexes&#8217; command on MongoDB 4.4</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10859" key="com.pyxis.greenhopper.jira:gh-epic-status">
                        <customfieldname>Epic Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10640"><![CDATA[To Do]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hwa59b:</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_11150" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>SERVER fixVersion</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16441"><![CDATA[4.4]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>