Skip to content

HDDS-16657. Reject lifecycle Transition actions in PutBucketLifecycleConfiguration - #11430

Merged
chungen0126 merged 1 commit into
apache:masterfrom
priyeshkaratha:HDDS-16657
Oct 7, 2026
Merged

chungen0126 merged 1 commit into
apache:masterfrom
priyeshkaratha:HDDS-16657

Conversation

@priyeshkaratha

Copy link
Copy Markdown
Member

What changes were proposed in this pull request?

Currently, PutBucketLifecycleConfiguration does not support the Transition field. If a request includes a Transition rule, the API silently ignores it and returns a 200 success response.
This change updates the behavior to reject requests that include a Transition rule, rather than silently dropping the unsupported field and returning a successful response.

What is the link to the Apache JIRA

HDDS-16657

How was this patch tested?

Tested using newly added testcase.

@github-actions github-actions Bot added the s3 S3 Gateway label Oct 7, 2026
@priyeshkaratha
priyeshkaratha marked this pull request as ready for review October 7, 2026 08:17
@priyeshkaratha priyeshkaratha added the s3-lifecycle HDDS-8342 label Oct 7, 2026
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Transition")
public static class Transition {
@XmlElement(name = "Days")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Could we omit Days and Date and their accessors? Transition actions are always rejected, so only StorageClass is needed for the error message.

@rich7420 rich7420 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

overall LGTM

@chungen0126 chungen0126 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

+1 LGTM

@chungen0126
chungen0126 merged commit c99d291 into apache:master Oct 7, 2026
60 of 61 checks passed
@chungen0126

Copy link
Copy Markdown
Contributor

Merged. Thanks @priyeshkaratha for working on this, @rich7420 for the review.

errose28 added a commit to errose28/ozone that referenced this pull request Oct 8, 2026
* master: (23 commits)
  HDDS-15951. Reduce ofs getFileChecksum to a single OM RPC (apache#11380)
  HDDS-16746. Local Stream onCommand should drain buffers before commit PutBlock (apache#11427)
  HDDS-16781. Fix intermittent ReadChunk count mismatch in TestKeyInputStream (apache#11443)
  HDDS-16779. FSO rename of a file to itself should be a no-op (apache#11440)
  HDDS-16724. Add support for missing S3 apis to STS (apache#11413)
  HDDS-16620. Expose BlockReadCursor as an iterator of streaming ReadBlock ranges (apache#11442)
  HDDS-16624. Improve AbortIncompleteMultipartUpload lifecycle validation error message (apache#11344)
  HDDS-16367. Update threat model with information about internal protocols (apache#11185)
  HDDS-16304. Convert RpcMetrics latency counters to lock-free ConcurrentMutableStat (apache#11425)
  HDDS-15681. Switch to io.github.ascopes:protobuf-maven-plugin (apache#11429)
  HDDS-16258. Refactor streaming block reads and fix checksum verification for variable-sized chunks (apache#11302)
  HDDS-16598. Fix intermittent failure in TestContainerStateMachine (apache#11319)
  HDDS-15802. Add integration tests for per-volume push replication (apache#11146)
  HDDS-16657. Reject lifecycle Transition actions in PutBucketLifecycleConfiguration (apache#11430)
  HDDS-16714. Split kubernetes check by environment (apache#11406)
  HDDS-16752. Bump guava to 33.7.2-jre (apache#11433)
  HDDS-16581. Bump ozone-runner to 20260922-1 (apache#11431)
  HDDS-16611. Use MutableGaugeLong for total count metrics in OMMetrics (apache#11410)
  HDDS-16738. Let dependabot ignore jetty minor version upgrades (apache#11422)
  HDDS-16683. Upgrade Jetty from 12.0.38 to 12.1.14 (apache#11424)
  ...

Conflicts:
hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneManagerVersion.java
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestKeyValueHandler.java
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ReplicationManager.java
hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestReplicationManager.java
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

s3-lifecycle HDDS-8342 s3 S3 Gateway

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants