Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cloud_storage: add error_outcome::operation_not_supported #22339

Merged

Conversation

WillemKauf
Copy link
Contributor

@WillemKauf WillemKauf commented Jul 25, 2024

Previously, a Delete Blob request made on a directory in ABS would result in an error_outcome being returned, and propagated outwards due to the OperationNotSupportedOnDirectory response when HNS is not enabled.

This would be particularly noisy and harmful when redpanda is not configured for HNS in ABS, while the Azure account is, due to the use of remote::delete_objects() in various locations in the code.

Add the error_outcome::operation_not_supported value, and ignore this error when encountered within abs_client::delete_object(). We still make sure to issue a debug log to abs_log.

Tested manually on personal ABS account.

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v24.2.x
  • v24.1.x
  • v23.3.x

Release Notes

  • none

Add `abs_error_code::operation_not_supported_on_directory` for future
handling of errors that arise when a `Delete Blob` request is made
on a directory.
Adds a value to the `cloud_storage::error_outcome` enum for handling cases
where the response to a request made had some flavor of `OperationNotSupported`
code.

This will be used immediately to handle a case for the `abs_client` where
`Delete Blob` requests made on directories results in a
`OperationNotSupportedOnDirectory` response.
Copy link
Contributor

@andrwng andrwng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you happen to test this manually on an ABS cluster? Would be good to note in the commit messages / cover letter

src/v/cloud_storage_clients/abs_client.cc Show resolved Hide resolved
src/v/cloud_storage_clients/abs_client.cc Outdated Show resolved Hide resolved
@WillemKauf
Copy link
Contributor Author

Did you happen to test this manually on an ABS cluster? Would be good to note in the commit messages / cover letter

Yes I did, and noted.

@WillemKauf WillemKauf force-pushed the abs_directory_operation_not_supported branch from 01ac328 to 436eb45 Compare July 26, 2024 00:21
andrwng
andrwng previously approved these changes Jul 26, 2024
@Lazin
Copy link
Contributor

Lazin commented Jul 26, 2024 via email

…abs_client::delete_object()`

Previously, a `Delete Blob` request made on a directory in ABS would result
in an `error_outcome` due to the `OperationNotSupportedOnDirectory` response.
We now ignore this outcome instead of propagating an error, and issue a
warning log to `abs_log`.
@WillemKauf
Copy link
Contributor Author

Updated logging severity for unsupported directory delete operation in abs_client::delete_object() from debug to warn.

@WillemKauf WillemKauf merged commit 86e9d85 into redpanda-data:dev Jul 26, 2024
19 checks passed
@vbotbuildovich
Copy link
Collaborator

/backport v24.2.x

@vbotbuildovich
Copy link
Collaborator

/backport v24.1.x

@vbotbuildovich
Copy link
Collaborator

/backport v23.3.x

Copy link
Member

@dotnwat dotnwat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants