Skip to content

Conversation

@fresh-borzoni
Copy link
Contributor

Summary

closes #243

  • Add subscribe_partition_buckets method across Rust core, C++ and Python bindings to subscribe to multiple partition+bucket combinations at once
  • Add CreatePartition to C++ bindings (was missing, already existed in Python)
  • Add partitioned table example to C++ example with CreatePartition, SubscribePartition and SubscribePartitionBuckets usage
  • Add subscribe_partition_buckets example to Python example
  • Add integration test for subscribe_partition_buckets

@fresh-borzoni
Copy link
Contributor Author

@luoyuxia @leekeiabstraction PTAL 🙏

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds first-class support for subscribing to multiple (partition_id, bucket_id) pairs in one call (subscribe_partition_buckets) across the Rust core API and the C++/Python bindings, plus supporting examples and an integration test. It also fills a gap in the C++ bindings by exposing CreatePartition so partitioned-table workflows can be demonstrated end-to-end.

Changes:

  • Add subscribe_partition_buckets to Rust scanners (record + batch) and expose it via C++/Python bindings.
  • Add CreatePartition to C++ bindings and wire it through the Rust CXX bridge.
  • Extend C++/Python examples and add an integration test validating batch partition subscription behavior.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
crates/fluss/tests/integration/log_table.rs Adds integration coverage for subscribe_partition_buckets on partitioned tables
crates/fluss/src/client/table/scanner.rs Implements subscribe_partition_buckets and updates partitioned-table error messaging
bindings/python/src/table.rs Exposes subscribe_partition_buckets on Python LogScanner and updates to_* docs/errors
bindings/python/fluss/init.pyi Adds typing stub for subscribe_partition_buckets
bindings/python/example/example.py Demonstrates subscribe_partition_buckets usage for partitioned table scans
bindings/cpp/src/table.cpp Adds C++ wrapper call LogScanner::SubscribePartitionBuckets
bindings/cpp/src/lib.rs Extends CXX bridge with partition subscriptions + create_partition plumbing
bindings/cpp/src/admin.cpp Implements Admin::CreatePartition in the C++ binding
bindings/cpp/include/fluss.hpp Adds PartitionBucketSubscription struct and declares new APIs
bindings/cpp/examples/example.cpp Adds a partitioned-table example using CreatePartition and batch subscriptions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@luoyuxia
Copy link
Contributor

luoyuxia commented Feb 8, 2026

@fresh-borzoni hi, could you please rebase main branch?

@fresh-borzoni fresh-borzoni force-pushed the subscribe-partion-buckets branch from afda850 to 301c13c Compare February 8, 2026 01:16
@fresh-borzoni
Copy link
Contributor Author

@luoyuxia Rebased

Copy link
Contributor

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

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

@fresh-borzoni Thanks for the pr. LGTM overall, Left minor comments.

@fresh-borzoni fresh-borzoni force-pushed the subscribe-partion-buckets branch from 301c13c to 209bb64 Compare February 8, 2026 03:40
@fresh-borzoni fresh-borzoni force-pushed the subscribe-partion-buckets branch from 209bb64 to f04eae3 Compare February 8, 2026 03:42
@fresh-borzoni
Copy link
Contributor Author

@luoyuxia TY for the review.
Addressed comments, PTAL 🙏

Copy link
Contributor

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

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

@fresh-borzoni Thanks for the pr. LGTM!

@luoyuxia luoyuxia merged commit 27bbc0b into apache:main Feb 8, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add subscribe_partition_buckets method

2 participants