[SERVER-28752] Cleanup write commands construction and parsing Created: 12/Apr/17  Updated: 12/Oct/17  Resolved: 01/Aug/17

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 3.5.11

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kaloian Manassiev
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-28753 Add support for txnNumber and stmtIds... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2017-05-08, Sharding 2017-05-29, Sharding 2017-06-19, Sharding 2017-07-10, Sharding 2017-07-31, Sharding 2017-08-21
Participants:
Linked BF Score: 0

 Description   

The classes which currently implement the construction and parsing logic for the insert/update/delete commands are very poorly structured, inefficient and difficult to extend. Since as part of the 'Retryable Writes' project we will need to extend the set of parameters they support, this might be a good time to implement them in IDL.

Part of the work on this ticket should include a design of what the IDL parser should look like.

Note that this task is not strictly necessary for 'Retryable Writes', but it would make the write commands more extensible.



 Comments   
Comment by Githook User [ 01/Aug/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm', 'name': 'Kaloian Manassiev'}

Message: SERVER-28752 Use IDL write_ops everywhere instead of Batched Insert/Update/Delete

This change gets rid of the legacy manual parsers for batched
insert/update/delete commands and replaces them with the IDL-generated.
With this, the write commands parsing for mongos and mongod uses the same
code.
Branch: master
https://github.com/mongodb/mongo/commit/7a183a3e5274cf6eadbb6146f468aa89dfb1c2b7

Comment by Githook User [ 27/Jul/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm', 'name': 'Kaloian Manassiev'}

Message: SERVER-28752 Lower the number of inserted entries in insertMulti.js
Branch: master
https://github.com/mongodb/mongo/commit/00cf113dc5994b610e72607909fca9f839717e6c

Comment by Githook User [ 27/Jul/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm', 'name': 'Kaloian Manassiev'}

Message: SERVER-28752 Get rid of BatchedInsertRequest::getIndexTargetingNS
Branch: master
https://github.com/mongodb/mongo/commit/a67a83a598b8550a5ac49d959ca5b61f3847c77e

Comment by Githook User [ 26/Jul/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm', 'name': 'Kaloian Manassiev'}

Message: Revert "SERVER-28752 Get rid of BatchedInsertRequest::getIndexTargetingNS"

This reverts commit 86defa9d193f34275af2c4f3c783dffb046182ff.
This reverts commit 1f097a38ad68e1b362cde71b70fabfb63ea4aae7.
Branch: master
https://github.com/mongodb/mongo/commit/39b009d422cb0a71001bdc0bd87e5cfd0e6c5b3f

Comment by Githook User [ 26/Jul/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm', 'name': 'Kaloian Manassiev'}

Message: SERVER-28752 Compile error due to unused variable
Branch: master
https://github.com/mongodb/mongo/commit/1f097a38ad68e1b362cde71b70fabfb63ea4aae7

Comment by Githook User [ 26/Jul/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm', 'name': 'Kaloian Manassiev'}

Message: SERVER-28752 Get rid of BatchedInsertRequest::getIndexTargetingNS

In preparation for removing the Batched Insert/Update/Delete Request parser classes.
Branch: master
https://github.com/mongodb/mongo/commit/86defa9d193f34275af2c4f3c783dffb046182ff

Comment by Githook User [ 24/Jul/17 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-28752 Get rid of all usages of Batched Insert/Update/Delete Request outside of BatchedCommandRequest
Branch: master
https://github.com/mongodb/mongo/commit/ffe425ee16d9c597732350dfe6de73b2fd9305d0

Comment by Githook User [ 19/Jul/17 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-28752 Get rid of usages of Batched Insert/Update/Delete Request in sharding tests
Branch: master
https://github.com/mongodb/mongo/commit/9857da5ed789111834ec340ebf37dbbe2f03661f

Comment by Githook User [ 19/Jul/17 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-28752 Remove methods specific to WriteCommandBase from BatchedCommandRequest
Branch: master
https://github.com/mongodb/mongo/commit/0fd8a76d5033287db54a825024311bd597bbd404

Comment by Githook User [ 19/Jul/17 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-28752 Make legacy writes go through the new write code path
Branch: master
https://github.com/mongodb/mongo/commit/0fb912f68f7236e1075f02ba7e6f34944a1c4a9e

Comment by Githook User [ 06/Jul/17 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-28752 Use IDL for write commands parsing
Branch: master
https://github.com/mongodb/mongo/commit/e09a21c0d849878792e647d2326d6fde865ac458

Comment by Githook User [ 06/Jul/17 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-28752 Remove duplicated common fields from the insert/update/delete parsers
Branch: master
https://github.com/mongodb/mongo/commit/e2f98446524bc3153618a98de2bd7b325fad8da9

Generated at Thu Feb 08 04:18:58 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.