[SERVER-60405] Support clustered collection querying in SBE Created: 01/Oct/21  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Haley Connelly Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-54201 Support collections clustered by _id ... Backlog
is related to SERVER-62058 SBE for time-series will need $_inter... Closed
Assigned Teams:
Query Execution
Participants:

 Description   

SBE currently assumes recordIds are of type long which is not always true for clustered collections - and will trip an invariant.

 

It can also trigger this invariant.



 Comments   
Comment by Rushan Chen [ 28/Mar/22 ]

Changing Epic link as this would need to be completed prior to supporting columnnar index over clustered collections. The reason is that the ability to fall back during runtime to scan clustered collection instead of columnar index is needed.

Comment by Ian Boros [ 15/Oct/21 ]

Was just talking to Martin about this, and we'll probably leave the SBE RecordId type meaning "64 bit record ID" and use the KeyString type for clustered collections.

Comment by Ian Boros [ 15/Oct/21 ]

We'll also have to deal with the fact that RecordId may be larger than 64 bits. Right now RecordIds are always "shallow" types in SBE, and are just copies between values. We may want to treat RecordIds as "deep" types unconditionally, or perhaps have an optimization for the case where they are still 64 bit integers and fit into a raw Value.

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