- 
    Type:Task 
- 
    Resolution: Unresolved
- 
    Priority:Major - P3 
- 
    None
- 
    Affects Version/s: None
- 
    Component/s: Checkpoints
- 
    None
- 
        Storage Engines, Storage Engines - Persistence
- 
        SE Persistence backlog
- 
        None
Currently, old checkpoint root pages are discarded in checkpoint_txn.c, within the checkpoint_tree function. The discard call is issued after checkpoint_resolve, ensuring that it only runs once the new checkpoint has been successfully written and it is safe to remove the old root page.
However, since this discard operation occurs outside the block manager layer, it introduces a potential layering violation in the current implementation.
The purpose of this ticket is to move the discard logic into the disaggregated block manager layer. This may involve identifying an appropriate existing function to issue the discard or introducing a new function dedicated to handling it, ensuring the operation is performed entirely within the correct layer.
This ticket should be done after the decision is made in WT-15861