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.
Affected Version
Since 0.12.0
Description
org.apache.druid.server.coordination.SegmentLoadDropHandler#requestStatusescache 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.