Currently buckets are allowed to contain measurement with arbitrarily mixed schema. This can lead to complicated type-comparison semantics (as seen in SERVER-59505). In order to facilitate indexing, we need to maintain certain invariants about what types of data can co-exist within a single bucket.
This will require changes to the time-series insert path. Namely, our current MinMax structure for maintaining the control summary data will be retrofitted to determine if an incoming measurement contains an incompatible schema relative to the measurements which have already landed in a given bucket. If so, we will close the bucket and open a new one for the new measurement.
- is depended on by
-
SERVER-60978 Refactor timeseries::MinMax and re-use for bucket schema
- Closed