-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
This ticket tracks removing the {{enum class Prefix : uint8_t
{ IncludePrefix, ExcludePrefix }}} from src/mongo/util/serialization_context.h.
Follow-up to SERVER-113707 (Remove multitenancy support from PQS). See the review discussion at https://github.com/10gen/mongo/pull/62219#pullrequestreview-5104085643, where the reviewer suggested dropping SerializationContext::Prefix::ExcludePrefix and running a multiversion patch. SERVER-113707 removed the last query-settings usage of Prefix; it remains in the Atlas-proxy tenant-prefix encode/decode paths (NamespaceStringUtil/DatabaseNameUtil, FLE) and tests.
The enum is a two-state flag that maps 1:1 to a bool (IncludePrefix/ExcludePrefix <-> isFromAtlasProxy), so it can likely be collapsed into a plain bool prefix state or removed entirely.
Proposed approach:
- Try replacing the remaining Prefix usages with a bool.
- Run a multiversion / Atlas-proxy passthrough patch to confirm nothing breaks on backwards compatibility.
- If nothing breaks, delete the enum; otherwise document why it must be preserved.
Prior art: SERVER-80298 (collapsed the SerializationContext enums to uint8_t), SERVER-88335 (Remove SerializationContext, closed as Won't Do).
- is related to
-
SERVER-80298 Reduce the size of SerializationContext
-
- Closed
-
-
SERVER-88335 Remove SerializationContext
-
- Closed
-
-
SERVER-113707 Remove multitenancy support from PQS
-
- In Code Review
-
- related to
-
SERVER-113707 Remove multitenancy support from PQS
-
- In Code Review
-