Skip to content

should SegmentDeletionManager expose the 2 public APIs? #8092

@walterddr

Description

@walterddr

Currently SegmentDeletionManager has

  1. a deleteSegments API that allows users to delete segments from property store and from deep store.
  2. a removeSegmentsFromStore API that allows users to only delete from deep store.

This creates confusion regarding failure recovery, when the component service dies in the middle of the execution, they can either result in

  • using deleteSegments, property store could've deleted segment A, but file still exist in deep store
  • using removeSegmentsFromStore, segment A's file could've been deleted from deep store, but property store could still have segment A.

Which one should we go with as failure recovery strategy?
From the point that we have a retention manager that periodically checks deep store for files to delete, I think we should always first delete from property store and next delete from deep store. thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions