Feature #57965
closedAdd new zone option to control whether an object's first data stripe is placed in the head object
0%
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.