<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:39:33 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-78894] Allow update to work with a partial shard key and without the two phase protocol</title>
                <link>https://jira.mongodb.org/browse/SERVER-78894</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;At the moment, update commands do not work if you do not specify the full shard key in the following cases when the two phase protocol is disabled:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;If the update command updates the shard key, then the full shard key has to be specified in the query&lt;/li&gt;
	&lt;li&gt;If the update command has `upsert == true` then the full shard key has to be specified in the query&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This ticket should investigate and modify those cases so that they still work even if a partial shard key is provided (if it is possible). This code should also be backported to 5.0 and 6.0.&#160;&lt;/p&gt;

&lt;p&gt;The context for why this ticket is needed is that customers use resharding to quickly add a new shard, and that involves first refining the shard key to a new temporary shard key and then refining it back to the original. When the shard key is refined to a temporary one, that will cause some of the user&apos;s existing update queries to break as they expect the new full refined shard key. So this ticket will prevent user&apos;s existing queries from breaking when they refine their shard key temporarily for resharding.&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2389716">SERVER-78894</key>
            <summary>Allow update to work with a partial shard key and without the two phase protocol</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="wenqin.ye@mongodb.com">Wenqin Ye</assignee>
                                    <reporter username="wenqin.ye@mongodb.com">Wenqin Ye</reporter>
                        <labels>
                            <label>sharding-nyc-subteam3</label>
                    </labels>
                <created>Wed, 12 Jul 2023 14:51:28 +0000</created>
                <updated>Tue, 15 Aug 2023 19:20:44 +0000</updated>
                            <resolved>Tue, 15 Aug 2023 19:20:44 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5635820" author="JIRAUSER1253401" created="Tue, 15 Aug 2023 19:05:09 +0000"  >&lt;p&gt;Yup as long as updateOne doesn&apos;t have upsert:True and does not update the shard key it will work if you provide a partial shard key in the query.&#160;&lt;/p&gt;</comment>
                            <comment id="5634082" author="garaudy.etienne" created="Tue, 15 Aug 2023 00:36:48 +0000"  >&lt;p&gt;oh yeah that&apos;s right. Did you test that regular updateOne actually works? lol I forget&lt;/p&gt;</comment>
                            <comment id="5632569" author="JIRAUSER1253401" created="Mon, 14 Aug 2023 15:46:19 +0000"  >&lt;p&gt;I forgot to close this ticket! It&apos;s not possible to fix updateOne upsert:True without doing some major code/functionality changes to updateOne (which may not be worth pursuing).&lt;/p&gt;

&lt;p&gt;If you recall about a month ago, we had a discussion about this and you said that it is fine to keep the two limitations listed in this ticket (see the attached screenshot).&lt;/p&gt;</comment>
                            <comment id="5627751" author="garaudy.etienne" created="Fri, 11 Aug 2023 02:40:52 +0000"  >&lt;p&gt;does this mean we still need to fix updateOne upsert:True?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="990012">SERVER-44422</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="469062" name="image-2023-08-14-11-44-44-081.png" size="495898" author="wenqin.ye@mongodb.com" created="Mon, 14 Aug 2023 15:44:45 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25134"><![CDATA[Sharding NYC]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 11 Aug 2023 02:40:52 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        25 weeks, 1 day 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>wenqin.ye@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            25 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>garaudy.etienne@mongodb.com</customfieldvalue>
            <customfieldvalue>wenqin.ye@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2hjw7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1zp3c:</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="7365">Sharding NYC 2023-07-24</customfieldvalue>
    <customfieldvalue id="7542">Sharding NYC 2023-08-07</customfieldvalue>
    <customfieldvalue id="7543">Sharding NYC 2023-08-21</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|i2h61j:</customfieldvalue>

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