Open jcsp opened 9 months ago
Bug triage notes:
gc_horizon
originated as a product requirement, to enable users to configure the PITR by size (therefore cost to the user) as well as/instead of configuring it by walltime.gc_feedback
boolean currently impacts our behavior here as well. Needs to be true for us to proactively generate image layers to enable GC to proceed. It is currently off by default.gc_feedback
is risky if PITR settings (size or time) are low, because it will cause us to incur costs from generating very many image layersnext_gc_cutoff
we take the min() LSN of horizon_cutoff and pitr_cutoff. If our user-facing story does not talk about the size-based (horizon) one, then we should exclude it from synthetic size calculation: this would have the result of making synthetic size go down after PITR interval passes.User stories:
A successor to gc_feedback
to help GC progress is tracked in https://github.com/neondatabase/neon/issues/6895
Ignoring gc_horizon for synthetic size was done in https://github.com/neondatabase/neon/pull/6407
Status: blocked on https://github.com/neondatabase/neon/pull/7368 so that we have read replica feedback to safely GC (currently gc_feedback acts as a partial mitigation for lack of feedback)
This ticket tracks the existence of
gc_horizon
, which is a strange setting: it controls how much wal we retain in byte terms, but this isn't a user-visible feature -- users only configure WAL retention in terms of time (pitr_interval).We should probably just remove
gc_horizon
, after checking that its removal doesn't have any unintended side effects.Original ticket:
Users care about this because they don't want to be billed for data they've dropped: if they write 10GB, then drop the table, then wait a week (default pitr_interval), the data should get dropped.