Project

General

Profile

Actions

Bug #20242

closed

keep-balance should deduplicate trash requests

Added by Tom Clegg about 1 year ago. Updated almost 1 year ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Keep
Story points:
1.0
Release relationship:
Auto

Description

In order to make correct rendezvous decisions, when a volume is mounted at multiple keepstore servers, keep-balance internally pictures a replica on each mount.

This has the unintended consequence that each trash list entry is sent to all servers that mount the relevant volume, instead of just one.

In most cases this is harmless: one of the servers will win the race to trash the block, and the rest will do nothing because the block is already trashed.

However, when using the S3 driver, the trash strategy has a race detection/recovery feature that is triggered when multiple keepstore processes try to trash a block at the same time, and the result is that the block is not trashed.

To fix this, keep-balance should send each trash list item to only one (randomly selected) server that mounts the relevant volume, not all of them.


Subtasks 1 (0 open1 closed)

Task #20245: Review 20242-dup-trash-listsResolvedTom Clegg03/27/2023Actions
Actions #2

Updated by Tom Clegg about 1 year ago

  • Status changed from New to In Progress
  • Subject changed from keep-balance should deduplicate pull/trash requests to keep-balance should deduplicate trash requests
Actions #3

Updated by Lucas Di Pentima about 1 year ago

This LGTM, thanks!

Actions #4

Updated by Tom Clegg about 1 year ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF