Skip to content

Historical request status cache cause stale data in historical which cannot be removed #12104

@FaxianZhao

Description

@FaxianZhao

Affected Version

Since 0.12.0

Description

org.apache.druid.server.coordination.SegmentLoadDropHandler#requestStatuses cache all load/drop request status with LRU strategy, it will cause ABA issue.

For example,
Step 1: Coordinator ask historical-H drop segment-S
Step 2: Coordinator ask historical-H load segment-S
Step 3: Coordinator ask historical-H drop segment-S

if Step 1 and Step 3 requests gap less than druid.segmentCache.statusQueueMaxSize(default 100), Step 3 will trigger the cache of Step 1 and skip remove segment logic.
Then Coordinator will ask historical-H to drop segment-S repeatedly, and historical-H always trigger the LRU cache.

Metadata

Metadata

Assignees

No one assigned

    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