Skip to content

MVP. Storage policy support for Ozone#9807

Draft
greenwich wants to merge 6 commits intoapache:masterfrom
greenwich:storage_policy
Draft

MVP. Storage policy support for Ozone#9807
greenwich wants to merge 6 commits intoapache:masterfrom
greenwich:storage_policy

Conversation

@greenwich
Copy link
Contributor

What changes were proposed in this pull request?

Provide a one-liner summary of the changes in the PR Title field above.
It should be in the form of HDDS-1234. Short summary of the change.

Please describe your PR in detail:

  • What changes are proposed in the PR? and Why? It would be better if it is written from third person's
    perspective not just for the reviewer.
  • Provide as much context and rationale for the pull request as possible. It could be copy-paste from
    the Jira's description if the jira is well defined.
  • If it is complex code, describe the approach used to solve the issue. If possible attach design doc,
    issue investigation, github discussion, etc.

Examples of well-written pull requests:

What is the link to the Apache JIRA

Please create an issue in ASF JIRA before opening a pull request, and you need to set the title of the pull
request which starts with the corresponding JIRA issue number. (e.g. HDDS-XXXX. Fix a typo in YYY.)

(Please replace this section with the link to the Apache JIRA)

How was this patch tested?

(Please explain how this patch was tested. Ex: unit tests, manual tests, workflow run on the fork git repo.)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this.)

@devabhishekpal
Copy link
Contributor

Thanks for the patch @greenwich. If this is something you are working on, it would be great to have a bit more info on the context, use-case and goals of this PR. Also if you have any reference JIRA for this with the relevant info, it'd be great


HOT(StorageType.SSD, StorageType.DISK),
WARM(StorageType.DISK, null),
COLD(StorageType.ARCHIVE, null);

Choose a reason for hiding this comment

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

what is StorageType.ARCHIVE in this context? if disk = HDD, what do we use for slower storage type?

Copy link
Contributor Author

@greenwich greenwich Feb 23, 2026

Choose a reason for hiding this comment

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

Yeah, good that you pointed it out; it's not needed here. I guess ARCHIVE comes from the ancient HDFS code. As in our team, we use the following storage types: DISK, SSD, NVME.

From my perspective, it should be:

  • HOT -> NVME
  • WARM -> SSD
  • COLD -> DISK

Technically, NVMe is an SSD, but they are much faster, with different throughput and performance profiles, and we want separate layers for each. So, within our team, we would need to define separate storage for them.

I didn't want to change the policies at this point, but we should. What's your thought?

Also, as a user, I would appreciate the ability to define and configure my own storage policies and storage types, too. We missed it in HDFS, but it might be useful because we use multiple SSD types with different sizes, performance, etc. I would set them to different individual storage types with specific storage policies.

*/
public enum OzoneStoragePolicy {

HOT(StorageType.SSD, StorageType.DISK),

Choose a reason for hiding this comment

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

how would we call e2e NVMe solution?

Copy link
Contributor Author

@greenwich greenwich Feb 23, 2026

Choose a reason for hiding this comment

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

Those things definitely need refinement - I responded to your comment above.
Please note it's a Draft MR.

@errose28
Copy link
Contributor

Hi @greenwich, I'm not sure all the design/requirements for this feature have been completed to the point where we are ready to add code. Right now it looks like we should continue discussion in #6989 or open a new PR. I have pinged the contributors on that change for the best way forward.

@greenwich greenwich marked this pull request as draft February 23, 2026 21:33
@greenwich
Copy link
Contributor Author

greenwich commented Feb 23, 2026

Thanks, everyone, for having a look! I am very sorry, but this MR isn't intended to be public or in the Open state. My bad - I'm moving it to Draft.

I explained my motivation and urgency here: #6989 (comment) cc @errose28

@greenwich greenwich changed the title Storage policy support for Ozone MVP. Storage policy support for Ozone Feb 24, 2026
@greenwich greenwich force-pushed the storage_policy branch 2 times, most recently from e28622f to 67504c0 Compare February 27, 2026 11:22
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.

4 participants