[SERVER-69918] Produce upsert document in _clusterQueryWithoutShardKey Created: 22/Sep/22 Updated: 29/Oct/23 Resolved: 24/Feb/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.0.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jason Zhang | Assignee: | Sanika Phanse (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Sprint: | Sharding 2022-10-17, Sharding 2022-12-12, Sharding NYC 2022-12-26, Sharding NYC 2023-01-09, Sharding NYC 2023-01-23, Sharding NYC 2023-02-06, Sharding NYC 2023-02-20, Sharding NYC 2023-03-06 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
On upsert:true and no matches found for a document, return the necessary upsert document to insert on a shard. |
| Comments |
| Comment by Githook User [ 25/Feb/23 ] |
|
Author: {'name': 'Sanika Phanse', 'email': 'sanika.phanse@mongodb.com', 'username': 'sphanse99'}Message: |
| Comment by Sanika Phanse (Inactive) [ 09/Jan/23 ] |
|
While waiting for Paired with arun.banala@mongodb.com today to separate the cursor files into a separate binary, but found that the difficulty to do this is comparable with that of I'm reopening this ticket, pending |
| Comment by Sanika Phanse (Inactive) [ 30/Nov/22 ] |
|
Bringing upsert_stage.cpp into mongos's scope in order to use a modified version of produceNewDocumentForInsert() when no matching documents & {upsert:true}is detected here. To do this, make a series of functions static: (1) UpsertStage::produceNewDocumentForInsert() Currently, (1) functions as follows:
The logic in (1) can be simplified as we can make a few assumptions:
|