Skip to content

Simplify chunks.Meta by removing the OOO fields #11837

@codesome

Description

@codesome

Proposal

With OOO support, we introduced 3 new fields to the chunk meta:

// OOOLastRef, OOOLastMinTime and OOOLastMaxTime are kept as markers for
// overlapping chunks.
// These fields point to the last created out of order Chunk (the head) that existed
// when Series() was called and was overlapping.
// Series() and Chunk() method responses should be consistent for the same
// query even if new data is added in between the calls.
OOOLastRef ChunkRef
OOOLastMinTime, OOOLastMaxTime int64

This unnecessarily bloats the chunk meta because these fields are only required by the Head block's OOO Head reader (the part that reads the OOO data from the Head), and are not required everywhere else. We can likely find a way that does not require these fields to be inside the meta. For example, store that information with the Head block's OOO reader wrapper.

How to do this is still TBD. Ideas are welcome :)


This issue is broken down from #11329

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions