<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:24:09 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-1853] Clustered Indexes for all Collections</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-1853</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 class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;p&gt;    We&apos;re planning to add new fields to command responses and change output of listIndexes. Scope will have more details. &lt;/p&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: #cccccc;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: #cccccc;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;Without clustering, a collection is stored in a B-Tree by a RecordId that is not exposed to end users, and there is a primary key index (&amp;lt;primary key&amp;gt;, &amp;lt;RecordId&amp;gt;). With clustering, a collection is to be stored in a B-Tree by the collection&#8217;s primary key, and there is no primary key index. This project is a generalization of clustering for time series (PM-288), and will need to support upgrading existing collections to use clustering.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;Motivation&lt;/h4&gt;

&lt;p&gt;Clustering by primary key is important for fast scale in/out in Serverless. This is largely because split and merge, which will do a physical copy such as file copy, will replace tenant migration/chunk migration, which does a logical copy.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;If a tenant does not have local secondary indexes (e.g., only has global indexes), orphan cleanup can be done using truncate rather than individual document deletes. Orphan filtering is expensive, so fast orphan cleanup is particularly important when doing a physical copy. This is because with a logical copy, the recipient can only end up with orphans in the range being transferred, but with a physical copy, the recipient can end up with orphans outside the range being transferred (i.e., more orphans). Orphans also block the merge of two slices that were split from each other, since merge has to be on disjoint ranges.&lt;/li&gt;
	&lt;li&gt;WT data tables for disjoint primary key ranges can be presented as a single table in constant time, for example by adding a root node above the two tables. This can significantly speed up merge, especially if combined with providing a union-view over any local secondary index tables. The tables can actually be merged into one file in the background.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;General benefits of clustering include:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Faster lookup and range scans by primary key because you don&apos;t need to go through the primary key index.&lt;/li&gt;
	&lt;li&gt;Faster orphan filtering for covered local index queries because local index entries contain the primary key.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;One downside is clustering may consume more space if there are local secondary indexes, since the primary key index reduces the number of copies of each primary key value&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;CastofCharacters&quot;&gt;&lt;/a&gt;Cast of Characters&lt;/h4&gt;
&lt;ul&gt;
	&lt;li&gt;Product Owner: &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=michael.gargiulo&quot; class=&quot;user-hover&quot; rel=&quot;michael.gargiulo&quot;&gt;michael.gargiulo&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Project Lead:&lt;/li&gt;
	&lt;li&gt;Program Manager: &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=connie.chen&quot; class=&quot;user-hover&quot; rel=&quot;connie.chen&quot;&gt;connie.chen&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Drivers Contact:&lt;/li&gt;
&lt;/ul&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/ye5q5sty&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Product Description&lt;/a&gt;&lt;br/&gt;
 &lt;a href=&quot;https://tinyurl.com/yk697poh&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://tinyurl.com/ydv2hzha&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Technical Design Document&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
        <key id="1820610">DRIVERS-1853</key>
            <summary>Clustered Indexes for all Collections</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="abraham.egnor@mongodb.com">Abraham Egnor</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                            <label>size-small</label>
                            <label>spec-change</label>
                    </labels>
                <created>Thu, 15 Jul 2021 18:57:35 +0000</created>
                <updated>Sat, 28 Oct 2023 10:44:37 +0000</updated>
                            <resolved>Mon, 13 Feb 2023 20:02:14 +0000</resolved>
                                                        <component>Collection Management</component>
                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="4550337" author="xgen-internal-githook" created="Mon, 16 May 2022 16:27:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@mongodb.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Add serverless: forbid for collection management tests (#1216)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1853&quot; title=&quot;Clustered Indexes for all Collections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1853&quot;&gt;&lt;del&gt;DRIVERS-1853&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2294&quot; title=&quot;Add createCollection and collMod spec tests for changeStreamPreAndPostImages option&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2294&quot;&gt;&lt;del&gt;DRIVERS-2294&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/d1458823bd810014df9da16d3a5354d2269ab865&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/d1458823bd810014df9da16d3a5354d2269ab865&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4509778" author="xgen-internal-githook" created="Wed, 27 Apr 2022 14:20:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Abraham Egnor&apos;, &apos;email&apos;: &apos;abraham.egnor@mongodb.com&apos;, &apos;username&apos;: &apos;abr-egn&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1853&quot; title=&quot;Clustered Indexes for all Collections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1853&quot;&gt;&lt;del&gt;DRIVERS-1853&lt;/del&gt;&lt;/a&gt; Add tests and update spec to support API changes for clustered collections (#1182)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/b042e47e1f978950030dd678134cdeed8693c748&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/b042e47e1f978950030dd678134cdeed8693c748&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4300791" author="dbeng-pm-bot" created="Wed, 19 Jan 2022 17:34:26 +0000"  >&lt;p&gt;If you are not logged in, you can view the tickets in this epic by following &lt;a href=&quot;https://jira.mongodb.org/issues/?jql=%22Epic%20Link%22%20%3D%20DRIVERS-1853&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;this link&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="4006462" author="dbeng-pm-bot" created="Wed, 18 Aug 2021 14:10:24 +0000"  >&lt;p&gt;Moved to Needs Triage because a linked PM issue (PM-2311)was moved to Ready for Work.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2015788">MONGOSH-1172</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2015789">VSCODE-330</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2026202">JAVA-4576</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026206">PHPLIB-843</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026208">RUST-1271</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026198">CDRIVER-4359</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026200">CSHARP-4141</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026199">CXX-2491</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026201">GODRIVER-2383</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026204">MOTOR-935</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026203">NODE-4189</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026205">PYTHON-3227</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2026207">RUBY-2959</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2044175">DRIVERS-2325</issuekey>
        </issuelink>
                            </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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Drivers will need to:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;add the &lt;tt&gt;clusteredIndex&lt;/tt&gt; option for &lt;tt&gt;createCollection&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;add the &lt;tt&gt;clustered&lt;/tt&gt; field in the output of &lt;tt&gt;listIndexes&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;sync &lt;tt&gt;collection-management&lt;/tt&gt; tests to &lt;tt&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/commit/b042e47e1f978950030dd678134cdeed8693c748&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;b042e47&lt;/a&gt;&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Update: &lt;tt&gt;serverless: forbid&lt;/tt&gt; was added in &lt;a href=&quot;https://github.com/mongodb/specifications/commit/d1458823bd810014df9da16d3a5354d2269ab865&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this commit&lt;/a&gt;&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[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/CDRIVER-4359'>CDRIVER-4359</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.22.0, 1.22.0-beta0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-2491'>CXX-2491</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>3.8.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4141'>CSHARP-4141</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.16.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2383'>GODRIVER-2383</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>1.10.0, 1.10.0-beta1</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-4576'>JAVA-4576</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>4.7.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-4189'>NODE-4189</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>4.6.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-935'>MOTOR-935</a>
    </td>
    <td>Won't Do</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-3227'>PYTHON-3227</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPLIB-843'>PHPLIB-843</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.13.0-beta1, 1.13.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-2959'>RUBY-2959</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.18.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1271'>RUST-1271</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.3.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-1546'>SWIFT-1546</a>
    </td>
    <td>Won't Fix</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY23Q2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr1pjw:09</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="21985"><![CDATA[6.0 Required]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_22279" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Server Compat</customfieldname>
                        <customfieldvalues>
                                        <label>5.3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_21457" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Upstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;We&apos;re planning to add new fields to command responses and change output of listIndexes. Scope will have more details. &lt;/p&gt;</customfieldvalue>

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