sachinnn99 opened a new pull request, #17107:
URL: https://github.com/apache/iceberg/pull/17107
`SnapshotUpdate.set(String, String)` lets callers supply arbitrary key/value
pairs for the snapshot summary. Inside `SnapshotSummary.Builder.build()`,
custom properties are copied first and computed metrics overwrite them, which
protects a metric key only when the metric is actually computed for the commit.
A user-supplied value under a reserved metric key that is not computed (e.g.
`set("added-delete-files", "5")` on a commit that adds no delete files)
survives into the final summary unchallenged.
This adds reserved-key validation to `SnapshotSummary.Builder.set()` so that
reserved metric keys and the `partitions.` prefix are rejected with an
`IllegalArgumentException`. Internal callers (`SnapshotProducer`,
`BaseRewriteManifests`) that legitimately write reserved keys use a new
package-private `setInternal()` bypass. Non-metric operation properties like
`wap.id` remain settable through the public API.
Fixes #17009
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]