Skip to content

Conversation

@sadanand48
Copy link
Contributor

@sadanand48 sadanand48 commented Aug 21, 2025

What changes were proposed in this pull request?

HDDS-12984 introduced a newer implementation for the OM tarball transfer process but replaces the older endpoint with the new impl. Instead introducing a newer endpoint maybe a better choice as it will handle upgrade related scenarios. An older client will always hit the older endpoint and newer client will hit the newer one. This way no layout change is needed.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-13594

How was this patch tested?

compat acceptance tests covering:

  • New client requesting checkpoint from new server (V1,V2) - pass
  • New client requesting checkpoint from old server (V1) - pass
  • Old client requesting checkpoint from old server (V1) pass
  • Old client requesting checkpoint from new server (V1) pass

Copy link
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

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

An older client will always hit the older endpoint and newer client will hit the newer one. This way no layout change is needed.

We currently don't have rolling upgrade support, so the clients in this case would be other OMs or Recon, which would be in the same version. Is the new endpoint still necessary? As long as it still has the option to fetch the whole DB without snapshots for Recon's purposes I think the same endpoint is fine since it is for internal use.

@sadanand48
Copy link
Contributor Author

sadanand48 commented Aug 25, 2025

We currently don't have rolling upgrade support, so the clients in this case would be other OMs or Recon, which would be in the same version. Is the new endpoint still necessary?

Yeah it's not very relevant at the moment but might be relevant during a rolling upgrade/partial upgrade like scenarios where a follower OM/Recon has a different version than the leader OM.

Also with the newer endpoint the obtained sst files in the tar won't be placed correctly in the snapshot dirs/om.db and will have inodeID based names etc. The client has additional logic to execute for the new endpoint .
Maintaining the old endpoint will help in manual bootstrap scenarios where one could directly hit it without extra handling on the client.

@jojochuang jojochuang added the snapshot https://issues.apache.org/jira/browse/HDDS-6517 label Aug 25, 2025
@priyeshkaratha
Copy link
Contributor

Looks good for me.

Copy link
Contributor

@jojochuang jojochuang left a comment

Choose a reason for hiding this comment

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

I think this looks fine. @sadanand48 do you want to update the endpoint name to /v2/dbCheckpoint ? I am okay either way.

@sadanand48 sadanand48 marked this pull request as ready for review September 10, 2025 05:56
Copy link
Contributor

@smengcl smengcl left a comment

Choose a reason for hiding this comment

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

Thanks @sadanand48 . lgtm. Just one doc change requested

@sadanand48 sadanand48 merged commit bc731ea into apache:master Sep 16, 2025
83 of 84 checks passed
@sadanand48
Copy link
Contributor Author

Thanks @errose28 @priyeshkaratha @jojochuang @smengcl for the reviews

jojochuang added a commit to jojochuang/ozone that referenced this pull request Nov 12, 2025
jojochuang added a commit to jojochuang/ozone that referenced this pull request Nov 12, 2025
jojochuang added a commit that referenced this pull request Nov 12, 2025
jojochuang added a commit that referenced this pull request Nov 12, 2025
jojochuang added a commit to jojochuang/ozone that referenced this pull request Nov 19, 2025
jojochuang added a commit that referenced this pull request Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

snapshot https://issues.apache.org/jira/browse/HDDS-6517

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants