[SERVER-59199] Support KeyStrings with RecordId strings longer than 127 bytes Created: 09/Aug/21  Updated: 29/Oct/23  Resolved: 23/Sep/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Louis Williams Assignee: Josef Ahmad
Resolution: Fixed Votes: 0
Labels: PM-2311-M1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-58949 Support RecordId strings larger than ... Closed
Problem/Incident
Related
related to SERVER-60127 Complete TODO listed in SERVER-59199 Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2021-09-20, Execution Team 2021-10-04
Participants:
Linked BF Score: 155

 Description   

We currently support encoding RecordId strings at the end of a KeyString for secondary index support on clustered collections.

The current encoding is designed to be read in reverse from the end of the string. The 1-byte size is appended at the end, preceded by the string contents. The current string encoding only supports encoding strings up to 127 bytes long, or what fits in 7 bits.

Extend the encoding to support larger strings. Use the unused high bit as a continuation bit that indicates the presence of a preceding size byte. Continue encoding right-to-left until there are no more size bytes remaining with continuation bits.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 23/Sep/21 ]

Author:

{'name': 'Josef Ahmad', 'email': 'josef.ahmad@mongodb.com', 'username': 'josefahmad'}

Message: SERVER-59199 KeyString: support large RecordId binary strings
Branch: master
https://github.com/mongodb/mongo/commit/0fe94060f84563af39863e42e9af0e6e609d2721

Comment by Githook User [ 22/Sep/21 ]

Author:

{'name': 'Uladzimir Makouski', 'email': 'uladzimir.makouski@mongodb.com', 'username': 'umakouski'}

Message: Revert "SERVER-59199 KeyString: support large RecordId binary strings"

This reverts commit 5f5f4ede9151d2da43a92145e3b3b6f735a09d43.
Branch: master
https://github.com/mongodb/mongo/commit/5de79607811b9bd42f8a43dd778972bb19d4299b

Comment by Githook User [ 21/Sep/21 ]

Author:

{'name': 'Josef Ahmad', 'email': 'josef.ahmad@mongodb.com', 'username': 'josefahmad'}

Message: SERVER-59199 KeyString: support large RecordId binary strings
Branch: master
https://github.com/mongodb/mongo/commit/5f5f4ede9151d2da43a92145e3b3b6f735a09d43

Generated at Thu Feb 08 05:46:37 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.