[SERVER-84234] BSONColumnBuilder throwing should be handled gracefully Created: 15/Dec/23 Updated: 02/Feb/24 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Henrik Edin | Assignee: | Gregory Noma |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||
| Sprint: | Execution Team 2024-01-22, Execution Team 2024-02-05, Execution Team 2024-02-19 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
BSONColumnBuilder throwing should be handled gracefully. It may throw for valid reasons, for example, if users have performed direct writes to the bucket collection corrupting the BSONColumn binary in a way that is not caught by BSON validation. If bucket compression is performed as a re-write when the bucket closes we should leave the bucket uncompressed. If bucket compression is part of inserting data into an existing bucket we should close this bucket and retry the insert into a new bucket (that is guaranteed to not be corrupted). This requires that all type of valid BSON from the user is encodable in BSONColumn. |