Skip to content

Conversation

@nandakumar131
Copy link
Contributor

@nandakumar131 nandakumar131 commented Aug 11, 2025

What changes were proposed in this pull request?

Always retry failed BlockDeleteTransactions in SCM BlockDeletingSerice.

After the recent changes that was done in the block deletion code in SCM, we don't need to skip transactions that have exceeded the max retry count. We can keep retrying the transactions as we will not be stuck due to set of transactions that do not succeed.

We can keep the count for debugging purpose but we don't need to skip the transaction once it has reached certain number of retries.

This change will retain the count but will remove the logic which marks the transaction as failed and option to reset the count (this is no longer required).

What is the link to the Apache JIRA

HDDS-13520

How was this patch tested?

Unit test updated according to the new behaviour.

CI Run: https://github.com/nandakumar131/ozone/actions/runs/16875112559

@nandakumar131 nandakumar131 marked this pull request as ready for review August 11, 2025 10:18
@errose28
Copy link
Contributor

After the recent changes that was done in the block deletion code in SCM, we don't need to skip transactions that have exceeded the max retry count

Can you add links in the Jira to the changes mentioned here?

@nandakumar131
Copy link
Contributor Author

Can you add links in the Jira to the changes mentioned here?

The reason for removing the skipping logic is that we will no longer get stuck on failed transactions. We now process the other transactions before retrying the failed ones again. That change was done in PR #7532

Copy link
Contributor

@ashishkumar50 ashishkumar50 left a comment

Choose a reason for hiding this comment

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

@nandakumar131 Thanks for removing retry count dependency from SCM.


@Override
public void execute(ScmClient client) throws IOException {
int count;
Copy link
Contributor

Choose a reason for hiding this comment

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

There are no-op for these two commands, we can remove code from client. It should not create any compatibility issues.
If we want to support these commands for older server then we should retain code in client as before.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

makes sense, will remove the command.

@ashishkumar50
Copy link
Contributor

@nandakumar131 would you like to resolve the conflict.

@nandakumar131
Copy link
Contributor Author

Thanks @ashishkumar50 for the ping. I will update the PR.

Copy link
Contributor

@ashishkumar50 ashishkumar50 left a comment

Choose a reason for hiding this comment

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

Thanks @nandakumar131, LGTM.

@ashishkumar50 ashishkumar50 merged commit e1c0e0d into apache:master Sep 17, 2025
42 checks passed
@nandakumar131 nandakumar131 deleted the HDDS-13520 branch September 18, 2025 09:37
@nandakumar131
Copy link
Contributor Author

Thanks @ashishkumar50 for the review and merge.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants