Devesh Kumar Singh created HDDS-17073:
-----------------------------------------

             Summary: Implement Jobworker-based key migration to satisfy 
storage policies
                 Key: HDDS-17073
                 URL: https://issues.apache.org/jira/browse/HDDS-17073
             Project: Apache Ozone
          Issue Type: Sub-task
          Components: Ozone Datanode, Ozone Filesystem, Ozone Manager
            Reporter: Devesh Kumar Singh
            Assignee: Devesh Kumar Singh


Existing keys retain their current physical placement when a bucket’s storage 
policy changes. For example, changing a bucket from HOT to COLD does not move 
an existing RATIS THREE key from SSD to ARCHIVE.

Use the Jobworker framework to asynchronously rewrite selected existing keys 
onto the target storage tier while preserving their replication configuration.

A bucket-policy update records placement intent. Migration requires a separate 
submission or producer, such as lifecycle processing, to identify eligible keys 
and create migration work.

*Scope:*

- Persist migration tasks and transaction batches in OM.
- Record each key’s observed generation and the target storage policy.
- Connect lifecycle transition processing to migration-task creation.
- Introduce StoragePolicySatisfierService to schedule pending work, limit 
concurrency, and select healthy Jobworkers.
- Add a migration command handler that reads source data and invokes 
policy-aware rewriteKey with the source replication configuration unchanged.
- Reuse OM → SCM → datanode allocation and write handling to enforce target 
placement and permitted fallback.
- Preserve required key attributes and validate copied data.
- Process per-key results, retry eligible failures, and maintain durable 
progress through OM Ratis.
- Support cancellation, failure cleanup, and recovery after OM failover or 
worker loss.

*Acceptance criteria:*

- A RATIS THREE key can move from SSD to ARCHIVE while retaining its logical 
name, content, size, replication configuration, and required attributes.
- Tests verify actual DN volume placement alongside OM and SCM metadata.
- Failed or incomplete copies cannot replace the committed source key.
- Concurrent user overwrites or deletions prevent stale migration commits.
- Retries, duplicate results, and failover do not lose work or double-count 
outcomes.
- Cancellation stops remaining scheduling work and clearly reports that 
already-committed migrations are not rolled back.
- Source and abandoned-target cleanup respects applicable snapshot and 
retention semantics.
- Unsupported target placement produces a clear failure or explicitly permitted 
fallback.
- Progress and failures are observable through task status, counters, and 
diagnostics.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to