This is an automated email from the ASF dual-hosted git repository. voonhous pushed a commit to branch release-1.2.1 in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 276565468ef017609ef0dad82348225b9bc5eaa6 Author: Xinli Shang <[email protected]> AuthorDate: Sat May 9 19:10:17 2026 -0700 docs: Document muttley package as internal/optional for OSS users (#18394) (cherry picked from commit f8e4b9f3db52fcaab05a37b15f7ea7ce8c8b3355) --- .../java/org/apache/hudi/sink/muttley/README.md | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/muttley/README.md b/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/muttley/README.md new file mode 100644 index 000000000000..04c2e31d0e1e --- /dev/null +++ b/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/muttley/README.md @@ -0,0 +1,25 @@ +# Internal Uber Components (Optional) + +This package contains integration with internal Uber services and is **optional** for Apache Hudi users. + +## Components + +- **FlinkHudiMuttleyClient** - Abstract base class providing HTTP retry logic for Muttley RPC communication +- **AthenaIngestionGateway** - Concrete Muttley RPC client for Uber's Athena Ingestion Gateway service (extends `FlinkHudiMuttleyClient`) +- **FlinkHudiMuttleyException** - Base exception for Muttley errors +- **FlinkHudiMuttleyClientException** - Exception for client-side Muttley errors +- **FlinkHudiMuttleyServerException** - Exception for server-side Muttley errors + +## Usage + +These components are used by `FlinkCheckpointClient` to collect Kafka offset metadata and attach it to Hudi commits as part of Uber's Kafka offset tracking feature. + +**Feature flag**: The feature is controlled by `write.extra.metadata.enabled` (default: `false`). It is disabled by default and has no effect in standard Apache Hudi deployments. + +**For open-source Apache Hudi users**: You can safely ignore this package. If `write.extra.metadata.enabled` is inadvertently set to `true` outside of Uber's infrastructure, Kafka offset collection will be silently skipped and Hudi commits will proceed normally (fail-open behavior). + +## Dependencies + +- Runtime: Uber's internal Muttley RPC framework +- Runtime: Access to Athena Ingestion Gateway service +- Compile-time: Jackson (`jackson-databind`) for JSON serialization of RPC request/response payloads
