[Client] Add the primary-key table bulk-load client SDK
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 28/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- java
調査の方向性
Fluss 接続とサーバー側の bulk-load プロトコルから始め、次に Begin、GetInProgress、Commit、Abort のエントリポイントを追跡します。ビルドセッション、バケットライター、スナップショットファイル、マニフェスト、コミットのリトライがどのように表現されているかを確認します。完了の定義は、公開 SDK が記載されたローカルおよび分散ワークフローをカバーし、ビルドコンテキストをシリアライズ可能な状態に保ち、リソースを適切にクローズできることです。
索引モデルが issue の本文から書いたものです。
説明
Search before asking
- I searched in the issues and found nothing similar.
Description
Provide a public client SDK over the server-side bulk-load protocol.
The SDK should hide RPC messages, manifest assembly, snapshot file handling,
and Commit retry details while supporting both single-process builders and
distributed execution engines.
Scope
- Expose BulkLoad through the Fluss connection.
- Add a client for Begin, GetInProgress, Commit, and Abort.
- Return an immutable and serializable build context from Begin.
- Add
openBuildSessionas the entry point for local build resources. - Create bucket writers through the build session.
- Route and validate rows against the frozen target metadata.
- Deduplicate primary-key rows locally, with the last row for a key winning.
- Build ordinary Fluss KV snapshot files for each bucket.
- Support an explicit log end offset when required by the caller.
- Assemble and publish the complete manifest internally.
- Retry Commit within a caller-provided await budget when the outcome is
retriable or unknown. - Close all writers still owned by a build session when the session is closed.
- Keep credentials and process-local resources out of the serializable build
context.
Willingness to contribute
- I'm willing to submit a PR!
- 主要言語
- Java
- スター
- 2.2k
- フォーク
- 663
- 平均マージ
- 3日 1時間
- マージ済み PR(30日)
- 145
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/fluss のほかの issue
-
[lake/iceberg] Reserved write-mode properties can be set and reset through their `iceberg.` key対応中かも @aphenix-r7 が 22 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
apache/fluss#4658 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
[common] Decimal#hashCode is inconsistent with Decimal#equals対応中かも @firasbouzazi が 34 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/fluss#4538 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
[security] PlainSaslServerProvider conflicts with Hadoop SASL provider causing authentication failure対応中かも @xinzhang-hello が 40 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 2 日以内に返信
-
[server] KV snapshot scheduling stops permanently after a transient snapshot-init failure対応中かも @zhang-arvin が 40 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
apache/fluss#4489 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
[docs] Document advertised-resource and ACL principal ignore-case options対応中かも @EchoLee5 が 52 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 2 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
googleads/googleads-mobile-flutter#1541 ·
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
Julow/Unexpected-Keyboard#1490 ·
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
Vakore/ZappierGames#275 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
unitycatalog/unitycatalog#2148 ·
メンテナーはふだん 2 日以内に返信
-
enhancement priority: low
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
Riptide-Labs/riptide#1060 ·
メンテナーはふだん 1 日以内に返信