<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:57:45 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-1689] Only allow equality matches on shard key in updates with upsert=true</title>
                <link>https://jira.mongodb.org/browse/SERVER-1689</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;db.foo.update({key: {$gt: 1}}, &lt;/p&gt;
{...}
&lt;p&gt;) shouldn&apos;t be allowed&lt;/p&gt;</description>
                <environment></environment>
        <key id="12923">SERVER-1689</key>
            <summary>Only allow equality matches on shard key in updates with upsert=true</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="mathias@mongodb.com">Mathias Stearn</assignee>
                                    <reporter username="mathias@mongodb.com">Mathias Stearn</reporter>
                        <labels>
                    </labels>
                <created>Thu, 26 Aug 2010 03:28:06 +0000</created>
                <updated>Tue, 12 Jul 2016 00:17:41 +0000</updated>
                            <resolved>Fri, 3 Sep 2010 01:13:35 +0000</resolved>
                                                    <fixVersion>1.7.0</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="17733" author="auto" created="Fri, 3 Sep 2010 01:13:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;RedBeard0531&apos;, &apos;name&apos;: &apos;Mathias Stearn&apos;, &apos;email&apos;: &apos;mathias@10gen.com&apos;}
&lt;p&gt;Message: Shard key in upsert query must be exact match &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1689&quot; title=&quot;Only allow equality matches on shard key in updates with upsert=true&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1689&quot;&gt;&lt;del&gt;SERVER-1689&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/6cc10ef09e3ceb5e21de53626ae8af0aa81a3d49&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/6cc10ef09e3ceb5e21de53626ae8af0aa81a3d49&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="17440" author="eliot" created="Thu, 26 Aug 2010 03:52:36 +0000"  >&lt;p&gt;We can issue a performance warning though, but thats it&lt;/p&gt;</comment>
                            <comment id="17439" author="eliot" created="Thu, 26 Aug 2010 03:52:11 +0000"  >&lt;p&gt;No - we should never ban anything unless we absolutely can&apos;t support it.&lt;br/&gt;
We want seamless transition from non-sharding to sharded.&lt;/p&gt;</comment>
                            <comment id="17438" author="redbeard0531" created="Thu, 26 Aug 2010 03:50:27 +0000"  >&lt;p&gt;That would require doing a getLastError on every call. How about doing that for 1.6.1 and banning it in 1.7.0?&lt;/p&gt;</comment>
                            <comment id="17437" author="eliot" created="Thu, 26 Aug 2010 03:42:48 +0000"  >&lt;p&gt;for a non-equalit, non-multi update case, i guess we should hit in serial till it matches.&lt;/p&gt;

&lt;p&gt;we don&apos;t want to disallow that&lt;/p&gt;</comment>
                            <comment id="17436" author="eliot" created="Thu, 26 Aug 2010 03:41:31 +0000"  >&lt;p&gt;So can require an equality if upsert is true.  If its not true, then shouldn&apos;t add any restrictions.&lt;/p&gt;

&lt;p&gt;Have to be very careful about adding rules since people are in production&lt;/p&gt;</comment>
                            <comment id="17435" author="redbeard0531" created="Thu, 26 Aug 2010 03:39:32 +0000"  >&lt;p&gt;Can&apos;t fire everywhere on non-multi since that would allow more than one document to be updated&lt;/p&gt;</comment>
                            <comment id="17434" author="redbeard0531" created="Thu, 26 Aug 2010 03:37:34 +0000"  >&lt;p&gt;See the comments in the linked case for one example. It is currently possible to upsert a document without a shard key.&lt;/p&gt;

&lt;p&gt;I&apos;ll look over the update code tomorrow and see if there are any places it should be allowed. The only one I can think of off the top of my head would be multi-updates.&lt;/p&gt;</comment>
                            <comment id="17433" author="eliot" created="Thu, 26 Aug 2010 03:37:16 +0000"  >&lt;p&gt;We should just fire update everywhere I think if we don&apos;t want to figure out where&lt;/p&gt;</comment>
                            <comment id="17431" author="eliot" created="Thu, 26 Aug 2010 03:31:31 +0000"  >&lt;p&gt;Why?&lt;br/&gt;
We don&apos;t want to restrict usage if at all possible&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="12834">SERVER-1639</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>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 26 Aug 2010 03:31:31 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            13 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_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpgen:</customfieldvalue>

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

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

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