Project

General

Profile

Actions

Feature #57965

closed

Add new zone option to control whether an object's first data stripe is placed in the head object

Added by Cory Snyder over 1 year ago. Updated 3 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
quincy,pacific
Reviewed:
Affected Versions:
Pull request ID:

Description

Delete requests are quite slow on clusters that have a data pool backed by HDDs, especially with an EC pool. For example, consider a multi-object delete request with 1000 keys for an 8+3 EC pool. Since the first stripe of object data is currently placed with the xattr data on the head object, deleting these head objects requires HDDs write on the request thread (or strand). That's 1000 * (8 + 3) = 11,000 HDD io reqs for one RGW multi-object delete client request. Of course, that is a significant amount of io relative to HDD iops, even for large clusters. We'd like to see an option to not store the first data stripe on the head object, so that client delete requests don't need to do any HDD io in the case where the bluestore db is placed on SSD or NVME. All data cleanup would then be handled by GC asynchronously in the background.

Actions #1

Updated by Cory Snyder about 1 year ago

  • Pull request ID set to 48711
Actions #2

Updated by Cory Snyder about 1 year ago

Casey Bodley this one can be transitioned to needs backport

Actions #3

Updated by Casey Bodley 3 months ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF