herbherbherb commented on PR #15316:
URL: https://github.com/apache/iceberg/pull/15316#issuecomment-4128677956
> There are currently multiple changes for the IcebergSink. I don't think we
would like to expose the internals of the Sink as it would bind us to these
contracts which we would like to change in the near future.
>
> If you think this still would be a valuable addition, please prepare a
proposal and start a dev list discussion around this.
>
> Thanks, Peter
Thank you Peter for the feedback. I'll close this PR.
I've broken the approach into three smaller, focused PRs that add plugin
hooks rather than exposing sink internals or changing access modifiers. Each
adds a single `@FunctionalInterface` callback set via the builder and no
visibility changes to existing classes:
1. OutputFileFactoryProvider — custom `OutputFileFactory` creation
(https://github.com/apache/iceberg/issues/15763 /
https://github.com/apache/iceberg/pull/15764)
2. PostCommitHook — callback after successful Iceberg commit
(https://github.com/apache/iceberg/issues/15768 /
https://github.com/apache/iceberg/pull/15769)
3. CommitGate — deferred commits with `ListState` buffering
(https://github.com/apache/iceberg/issues/15770 /
https://github.com/apache/iceberg/pull/15771)
All three are backward compatible with no behavioral change when the hooks
are not set. Happy to start a dev list discussion if you'd prefer that before
reviewing the individual PRs, thank you.
--
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]