<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:22:19 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-10117] expose splitVector functionality</title>
                <link>https://jira.mongodb.org/browse/SERVER-10117</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;splitVector is used by sharding and returns the split points for a collection. It shows pretty impressive performance while doing so. There are many cases where it can be extremely useful to know to split points of a collection, for example:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;to subdivide workload accross application threads&lt;/li&gt;
	&lt;li&gt;to subdivide workload for map reduce&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;There is no easy alternative for the application in case it is not aware of the distribution of a key.&lt;br/&gt;
In the context of sharding, mongos could just return the chunk ranges.&lt;br/&gt;
This should be made available to a &apos;read&apos; or &apos;readWrite&apos; application user.&lt;br/&gt;
It seems also that the hadoop connector currently relies on these things, so we should make it properly supported.&lt;/p&gt;</description>
                <environment></environment>
        <key id="81412">SERVER-10117</key>
            <summary>expose splitVector functionality</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-sharding">[DO NOT USE] Backlog - Sharding Team</assignee>
                                    <reporter username="antoine">Antoine Girbal</reporter>
                        <labels>
                    </labels>
                <created>Sat, 6 Jul 2013 02:01:32 +0000</created>
                <updated>Tue, 6 Dec 2022 05:19:45 +0000</updated>
                            <resolved>Thu, 23 Aug 2018 16:11:30 +0000</resolved>
                                                                    <component>Sharding</component>
                    <component>Usability</component>
                                        <votes>8</votes>
                                    <watches>21</watches>
                                                                                                                <comments>
                            <comment id="1983966" author="kaloian.manassiev" created="Thu, 23 Aug 2018 16:11:30 +0000"  >&lt;p&gt;Thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ross.lawley&quot; class=&quot;user-hover&quot; rel=&quot;ross.lawley&quot;&gt;ross.lawley&lt;/a&gt;. I am closing this ticket as Won&apos;t Fix.&lt;/p&gt;</comment>
                            <comment id="1983832" author="ross@10gen.com" created="Thu, 23 Aug 2018 14:51:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kaloian.manassiev&quot; class=&quot;user-hover&quot; rel=&quot;kaloian.manassiev&quot;&gt;kaloian.manassiev&lt;/a&gt; no longer a pain point. $sample does the job well and has been the default approach in the Spark Connector collection partitioner without issue.&lt;/p&gt;</comment>
                            <comment id="1983828" author="kaloian.manassiev" created="Thu, 23 Aug 2018 14:48:56 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ross.lawley&quot; class=&quot;user-hover&quot; rel=&quot;ross.lawley&quot;&gt;ross.lawley&lt;/a&gt;, is this still a pain point for you? Looks like $sample does the job and we would really like to not start supporting splitVector as first class citizen.&lt;/p&gt;</comment>
                            <comment id="1275282" author="luke.lovett" created="Wed, 25 May 2016 18:35:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dan%4010gen.com&quot; class=&quot;user-hover&quot; rel=&quot;dan@10gen.com&quot;&gt;dan@10gen.com&lt;/a&gt;, this sounds like a good alternative for users on MongoDB 3.2+. I&apos;ll make a HADOOP ticket for creating a new splitter based on &lt;tt&gt;$sample&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="1275238" author="ross@10gen.com" created="Wed, 25 May 2016 18:05:29 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dan%4010gen.com&quot; class=&quot;user-hover&quot; rel=&quot;dan@10gen.com&quot;&gt;dan@10gen.com&lt;/a&gt; I&apos;m still trying to fully grok the code, it should work. I&apos;ll try creating a new partitioner using $sample and see how it goes.&lt;/p&gt;</comment>
                            <comment id="1275028" author="dan@10gen.com" created="Wed, 25 May 2016 16:21:39 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ross.lawley&quot; class=&quot;user-hover&quot; rel=&quot;ross.lawley&quot;&gt;ross.lawley&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=luke.lovett&quot; class=&quot;user-hover&quot; rel=&quot;luke.lovett&quot;&gt;luke.lovett&lt;/a&gt;, what if we move the hadoop and spark connectors to use the &lt;tt&gt;$sample&lt;/tt&gt; agg stage to calculate split points instead of the internal &lt;tt&gt;splitVector&lt;/tt&gt; cmd?  This requires only read privileges and is exactly what we use to calculate split points in the oplog on WiredTiger.  Here&apos;s the code: &lt;a href=&quot;https://github.com/mongodb/mongo/blob/r3.3.6/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp#L343&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/r3.3.6/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp#L343&lt;/a&gt;.  Would this work?  &lt;tt&gt;$sample&lt;/tt&gt; is only available in v3.2+&lt;/p&gt;</comment>
                            <comment id="1273664" author="ross@10gen.com" created="Tue, 24 May 2016 16:08:03 +0000"  >&lt;p&gt;splitVector is also used by the new spark connector as a mechanism for partitioning a collection for any users on a non-sharded system.&lt;br/&gt;
Having it assigned to the same roles as &lt;tt&gt;collStats&lt;/tt&gt; would be ideal as then users with read permissions would be able to use the connector.&lt;/p&gt;</comment>
                            <comment id="953220" author="chengas123" created="Mon, 29 Jun 2015 15:41:11 +0000"  >&lt;p&gt;+1 to adding splitVector to the clusterMonitor role. It&apos;s already exposed in the clusterAdmin role and other admin roles. I feel that the only thing that&apos;s being accomplished by leaving it off of clusterMonitor is encouraging folks to assign higher permission levels than is necessary.&lt;/p&gt;

&lt;p&gt;You already require lots of customers using your Mongo Hadoop Connector to assign the permission. You can leave it undocumented so that folks aren&apos;t encouraged to use it beyond that, but it&apos;s seems really silly to tell people that they need to use it and then make it so that the easiest way to do that is by assigning a less secure role than is necessary. In fact, by not adding it in clusterMonitor you end up exposing it even more. Now people are creating custom roles that use splitVector instead of just using the built-in roles that you control and can change with future releases.&lt;/p&gt;

&lt;p&gt;To see where the Mongo Hadoop Connector uses it look at &lt;a href=&quot;https://github.com/mongodb/mongo-hadoop/blob/master/core/src/main/java/com/mongodb/hadoop/splitter/StandaloneMongoSplitter.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-hadoop/blob/master/core/src/main/java/com/mongodb/hadoop/splitter/StandaloneMongoSplitter.java&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="661623" author="lars_francke" created="Thu, 17 Jul 2014 08:20:22 +0000"  >&lt;p&gt;I can open a separate issue for this but I think it&apos;s also worthwhile to allow &lt;tt&gt;splitVector&lt;/tt&gt; to run on secondary servers as well. Especially for the Hadoop use-case. We don&apos;t want to point the customer&apos;s Hadoop cluster at the primary node.&lt;/p&gt;

&lt;p&gt;See CS-13607 and HADOOP-150 for more information.&lt;/p&gt;</comment>
                            <comment id="376654" author="spencer" created="Mon, 8 Jul 2013 23:05:27 +0000"  >&lt;p&gt;Updated the title of this ticket and put it into needs triage.  Not sure how important it is to change what system role this is in given the upcoming ability for users to define custom roles.&lt;/p&gt;</comment>
                            <comment id="376589" author="antoine" created="Mon, 8 Jul 2013 22:02:42 +0000"  >&lt;p&gt;I will open a ticket to document it then, because right now there is nothing:&lt;br/&gt;
&lt;a href=&quot;http://docs.mongodb.org/manual/reference/command/splitVector/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.mongodb.org/manual/reference/command/splitVector/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think clusterAdmin role is too harsh here, since:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;it only works for unsharded collection on single server&lt;/li&gt;
	&lt;li&gt;it&apos;s read only&lt;/li&gt;
	&lt;li&gt;it&apos;s backed by an index so no risk of table scan&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;One point of this ticket is to make it available to application&apos;s &apos;read&apos; or &apos;readWrite&apos; users.&lt;/p&gt;</comment>
                            <comment id="376322" author="spencer" created="Mon, 8 Jul 2013 17:53:23 +0000"  >&lt;p&gt;It is officially supported, you need the &quot;clusterAdmin&quot; role to use.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="282278">SERVER-23917</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="213468">SERVER-19170</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="81627">DOCS-1686</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="288925">SPARK-54</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="337393">SERVER-27344</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>12.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25141"><![CDATA[Sharding]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 8 Jul 2013 17:53:23 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 24 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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 24 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-sharding</customfieldvalue>
            <customfieldvalue>antoine</customfieldvalue>
            <customfieldvalue>chengas123</customfieldvalue>
            <customfieldvalue>dan@mongodb.com</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>lars_francke</customfieldvalue>
            <customfieldvalue>luke.lovett</customfieldvalue>
            <customfieldvalue>ross@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrmo4n:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrg0gn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6647</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>
                                

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

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