This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch dependabot/cargo/log-0.4.31
in repository https://gitbox.apache.org/repos/asf/fluss-rust.git
omit 4688fbf8 chore: bump log from 0.4.29 to 0.4.31
add 4e64847c [elixir] feat: Add get_database_info admin call (#586)
add fa80f693 [elixir] Optimize CI/CD with proper actions, reusing compiled
deps (#598)
add 6242b99d docs: comprehensive README update (#600)
add 0d24bddf [python] map and row complex types support (#601)
add 63638ecc [c++] add prefix lookup (#606)
add 87303ea7 [metrics] Add writer pipeline metrics (#609)
add 470c3c6d [python] Split examples in Python and enforce executability
in CI for python examples (#610)
add c6d04a32 [elixir] feat: Allow comment and custom_properties on
create_database (#597)
add 9cfeda78 [python] Add stub test to catch pyi drift in CI (#616)
add d071c906 [python] Limit scan (#613)
add c6ee4437 chore: bump rustler from 0.37.3 to 0.38.0 (#594)
add 4818f46e chore: bump mozilla-actions/sccache-action from 0.0.9 to
0.0.10 (#590)
add c1e38b93 chore: bump astral-sh/setup-uv from 7.6.0 to 8.2.0 (#591)
add 0f1415af chore: bump tokio from 1.51.0 to 1.52.3 (#592)
add 8e3ed756 [c++] Limit batch scanner (#614)
add 3187eb47 chore: [metrics] Add client metrics and prometheus example
(#617)
add b98ab9c3 chore: fix(test-cluster): manage containers via
testcontainers' Docker client so start/stop share one runtime (#624)
add 9bf1f4b8 chore: fix tighten test cluster cleanup matching (#627)
add 8c108ba4 [rust] Sync Fluss 1.x proto definitions and ApiKey registry
(#628)
add bf94c1c7 [client] Allow bootstrap endpoint with unknown server type
(#622)
add 6c1c534f [rust] Add RPC message wrappers for core DB/table operations
add 9d682e38 tighten pub visibility for protos
add 452a8aaf feat: [c++] Add MAP/ROW types, unify complex types under
Value handle (#611)
add ee6a5ac3 [rust] Replace raw i64/i32 with TableId/PartitionId/BucketId
type aliases in write path (#635)
add 669cec79 [rust] Add RPC message wrappers for extended operations (#630)
add 936f534c [elixir] feat: Add get_table_info admin call (#640)
add 0dae3160 [rust] Add Fluss 1.x protocol support to the admin client
(#631)
add 81e94943 [feat] Support subscribing to primary-key table changelog
(#639)
add b4e001fa chore: bump log from 0.4.29 to 0.4.33
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (4688fbf8)
\
N -- N -- N refs/heads/dependabot/cargo/log-0.4.31 (b4e001fa)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/workflows/build_and_test_cpp.yml | 2 +-
.github/workflows/build_and_test_elixir.yml | 5 +-
.github/workflows/build_and_test_python.yml | 39 +-
Cargo.lock | 39 +-
README.md | 375 +++-
bindings/cpp/CMakeLists.txt | 6 +
bindings/cpp/examples/kv_changelog_example.cpp | 130 ++
bindings/cpp/include/fluss.hpp | 527 +++--
bindings/cpp/src/admin.cpp | 33 +-
bindings/cpp/src/ffi_converter.hpp | 31 +-
bindings/cpp/src/lib.rs | 2022 ++++++++++++--------
bindings/cpp/src/table.cpp | 759 +++++---
bindings/cpp/src/type_lowering.hpp | 144 ++
bindings/cpp/src/types.rs | 298 ++-
bindings/cpp/test/test_kv_changelog.cpp | 182 ++
bindings/cpp/test/test_kv_table.cpp | 1070 ++++++++++-
bindings/cpp/test/test_log_table.cpp | 585 +++++-
bindings/elixir/lib/fluss/admin.ex | 61 +-
bindings/elixir/lib/fluss/database_descriptor.ex | 67 +
.../lib/fluss/{server_node.ex => database_info.ex} | 26 +-
bindings/elixir/lib/fluss/native.ex | 16 +-
.../Cargo.toml => lib/fluss/schema_info.ex} | 29 +-
bindings/elixir/lib/fluss/server_node.ex | 2 +-
bindings/elixir/lib/fluss/table_info.ex | 96 +
bindings/elixir/native/fluss_nif/Cargo.toml | 2 +-
bindings/elixir/native/fluss_nif/src/admin.rs | 169 +-
bindings/elixir/native/fluss_nif/src/schema.rs | 48 +
bindings/elixir/test/database_descriptor_test.exs | 169 ++
bindings/elixir/test/integration/admin_test.exs | 272 ++-
.../elixir/test/integration/log_table_test.exs | 2 +-
bindings/python/DEVELOPMENT.md | 46 +-
bindings/python/example/complex_types.py | 238 +++
bindings/python/example/example.py | 971 ----------
bindings/python/example/kv_changelog.py | 103 +
bindings/python/example/log_table.py | 430 +++++
bindings/python/example/partitioned_kv_table.py | 138 ++
bindings/python/example/partitioned_table.py | 176 ++
bindings/python/example/pk_table.py | 240 +++
bindings/python/fluss/__init__.pyi | 207 +-
bindings/python/src/lib.rs | 1 +
bindings/python/src/table.rs | 572 +++++-
bindings/python/src/utils.rs | 78 +-
.../python/stubtest-allowlist.txt | 26 +-
bindings/python/test/conftest.py | 333 +++-
bindings/python/test/test_batch_scanner.py | 221 +++
bindings/python/test/test_examples.py | 66 +
bindings/python/test/test_kv_changelog.py | 112 ++
bindings/python/test/test_kv_table.py | 375 ++--
bindings/python/test/test_log_table.py | 291 ++-
bindings/python/test/test_schema.py | 61 +-
crates/examples/Cargo.toml | 10 +
.../{example_table.rs => example_kv_changelog.rs} | 81 +-
crates/examples/src/example_prometheus_metrics.rs | 138 ++
crates/fluss-test-cluster/src/lib.rs | 222 ++-
crates/fluss/build.rs | 3 +-
crates/fluss/src/client/admin.rs | 408 +++-
crates/fluss/src/client/metadata.rs | 7 +-
crates/fluss/src/client/table/batch_scanner.rs | 183 +-
crates/fluss/src/client/table/log_fetch_buffer.rs | 145 +-
crates/fluss/src/client/table/remote_log.rs | 4 +-
crates/fluss/src/client/table/scanner.rs | 89 +-
crates/fluss/src/client/write/accumulator.rs | 32 +-
crates/fluss/src/client/write/batch.rs | 127 ++
crates/fluss/src/client/write/bucket_assigner.rs | 19 +-
crates/fluss/src/client/write/sender.rs | 438 ++++-
crates/fluss/src/client/write/writer_client.rs | 6 +
crates/fluss/src/cluster/cluster.rs | 14 +-
crates/fluss/src/cluster/mod.rs | 21 +-
crates/fluss/src/lib.rs | 4 +-
crates/fluss/src/metadata/acl.rs | 343 ++++
crates/fluss/src/metadata/cluster_health.rs | 109 ++
crates/fluss/src/metadata/config.rs | 151 ++
crates/fluss/src/metadata/database.rs | 19 +
crates/fluss/src/metadata/goal_type.rs | 68 +
crates/fluss/src/metadata/kv_snapshot.rs | 171 ++
crates/fluss/src/metadata/kv_snapshot_lease.rs | 119 ++
crates/fluss/src/metadata/lake_snapshot.rs | 83 +
crates/fluss/src/metadata/mod.rs | 28 +
crates/fluss/src/metadata/partition.rs | 1 +
crates/fluss/src/metadata/producer_offsets.rs | 141 ++
crates/fluss/src/metadata/rebalance.rs | 187 ++
.../fluss/src/metadata/register_producer_result.rs | 66 +
crates/fluss/src/metadata/remote_log.rs | 59 +
crates/fluss/src/metadata/server_tag.rs | 61 +
crates/fluss/src/metadata/table.rs | 16 +
crates/fluss/src/metadata/table_change.rs | 239 +++
crates/fluss/src/metadata/table_stats.rs | 140 ++
crates/fluss/src/metrics.rs | 221 +++
crates/fluss/src/proto/fluss_api.proto | 464 ++++-
crates/fluss/src/record/arrow.rs | 411 +++-
.../fluss/src/record/kv/kv_record_batch_builder.rs | 5 +
crates/fluss/src/row/binary_array.rs | 25 +-
crates/fluss/src/row/binary_map.rs | 24 +
crates/fluss/src/row/column_writer.rs | 12 +-
crates/fluss/src/rpc/api_key.rs | 137 +-
crates/fluss/src/rpc/convert.rs | 11 +-
...p_partition.rs => acquire_kv_snapshot_lease.rs} | 40 +-
.../message/{init_writer.rs => add_server_tag.rs} | 29 +-
.../{init_writer.rs => alter_cluster_configs.rs} | 28 +-
.../{drop_partition.rs => alter_database.rs} | 35 +-
.../message/{drop_partition.rs => alter_table.rs} | 36 +-
crates/fluss/src/rpc/message/api_versions.rs | 2 +-
crates/fluss/src/rpc/message/authenticate.rs | 2 +-
.../{init_writer.rs => cancel_rebalance.rs} | 27 +-
.../rpc/message/{init_writer.rs => create_acls.rs} | 28 +-
crates/fluss/src/rpc/message/create_database.rs | 2 +-
crates/fluss/src/rpc/message/create_partition.rs | 4 +-
crates/fluss/src/rpc/message/create_table.rs | 2 +-
crates/fluss/src/rpc/message/database_exists.rs | 2 +-
.../{init_writer.rs => delete_producer_offsets.rs} | 27 +-
...st_databases.rs => describe_cluster_configs.rs} | 25 +-
.../rpc/message/{init_writer.rs => drop_acls.rs} | 28 +-
crates/fluss/src/rpc/message/drop_database.rs | 2 +-
.../{init_writer.rs => drop_kv_snapshot_lease.rs} | 27 +-
crates/fluss/src/rpc/message/drop_partition.rs | 2 +-
crates/fluss/src/rpc/message/drop_table.rs | 2 +-
crates/fluss/src/rpc/message/fetch.rs | 4 +-
.../{list_databases.rs => get_cluster_health.rs} | 25 +-
crates/fluss/src/rpc/message/get_database_info.rs | 2 +-
...op_partition.rs => get_kv_snapshot_metadata.rs} | 40 +-
.../{drop_table.rs => get_lake_snapshot.rs} | 35 +-
.../{drop_table.rs => get_latest_kv_snapshots.rs} | 34 +-
.../src/rpc/message/get_latest_lake_snapshot.rs | 4 +-
.../{init_writer.rs => get_producer_offsets.rs} | 27 +-
crates/fluss/src/rpc/message/get_security_token.rs | 2 +-
crates/fluss/src/rpc/message/get_table.rs | 2 +-
crates/fluss/src/rpc/message/get_table_schema.rs | 2 +-
.../{drop_partition.rs => get_table_stats.rs} | 39 +-
crates/fluss/src/rpc/message/init_writer.rs | 4 +-
crates/fluss/src/rpc/message/limit_scan.rs | 11 +-
.../rpc/message/{init_writer.rs => list_acls.rs} | 28 +-
...ist_databases.rs => list_database_summaries.rs} | 26 +-
crates/fluss/src/rpc/message/list_databases.rs | 6 +-
.../{init_writer.rs => list_kv_snapshots.rs} | 30 +-
crates/fluss/src/rpc/message/list_offsets.rs | 2 +-
.../fluss/src/rpc/message/list_partition_infos.rs | 2 +-
.../{init_writer.rs => list_rebalance_progress.rs} | 27 +-
...urity_token.rs => list_remote_log_manifests.rs} | 34 +-
crates/fluss/src/rpc/message/list_tables.rs | 2 +-
crates/fluss/src/rpc/message/lookup.rs | 7 +-
crates/fluss/src/rpc/message/mod.rs | 54 +
crates/fluss/src/rpc/message/prefix_lookup.rs | 2 +-
crates/fluss/src/rpc/message/produce_log.rs | 6 +-
crates/fluss/src/rpc/message/put_kv.rs | 6 +-
.../rpc/message/{init_writer.rs => rebalance.rs} | 28 +-
...p_partition.rs => register_producer_offsets.rs} | 40 +-
...init_writer.rs => release_kv_snapshot_lease.rs} | 29 +-
.../{init_writer.rs => remove_server_tag.rs} | 29 +-
.../rpc/message/{drop_partition.rs => scan_kv.rs} | 43 +-
crates/fluss/src/rpc/message/table_exists.rs | 2 +-
crates/fluss/src/rpc/message/update_metadata.rs | 2 +-
crates/fluss/src/rpc/mod.rs | 2 +-
crates/fluss/src/rpc/server_connection.rs | 36 +-
crates/fluss/src/test_utils.rs | 42 +-
crates/fluss/tests/integration/admin.rs | 35 +
crates/fluss/tests/integration/batch_scanner.rs | 87 +-
crates/fluss/tests/integration/kv_changelog.rs | 170 ++
crates/fluss/tests/test_fluss.rs | 1 +
website/docs/user-guide/cpp/api-reference.md | 165 +-
website/docs/user-guide/cpp/data-types.md | 124 +-
website/docs/user-guide/cpp/example/log-tables.md | 20 +
.../docs/user-guide/cpp/example/prefix-lookup.md | 109 ++
.../user-guide/cpp/example/primary-key-tables.md | 47 +
website/docs/user-guide/python/api-reference.md | 22 +-
website/docs/user-guide/python/data-types.md | 86 +
.../docs/user-guide/python/example/log-tables.md | 14 +
.../python/example/primary-key-tables.md | 34 +
website/docs/user-guide/rust/api-reference.md | 33 +-
.../user-guide/rust/example/primary-key-tables.md | 42 +
website/docs/user-guide/rust/metrics.md | 179 ++
170 files changed, 15514 insertions(+), 3873 deletions(-)
create mode 100644 bindings/cpp/examples/kv_changelog_example.cpp
create mode 100644 bindings/cpp/src/type_lowering.hpp
create mode 100644 bindings/cpp/test/test_kv_changelog.cpp
create mode 100644 bindings/elixir/lib/fluss/database_descriptor.ex
copy bindings/elixir/lib/fluss/{server_node.ex => database_info.ex} (57%)
copy bindings/elixir/{native/fluss_nif/Cargo.toml => lib/fluss/schema_info.ex}
(64%)
create mode 100644 bindings/elixir/lib/fluss/table_info.ex
create mode 100644 bindings/elixir/test/database_descriptor_test.exs
create mode 100644 bindings/python/example/complex_types.py
delete mode 100644 bindings/python/example/example.py
create mode 100644 bindings/python/example/kv_changelog.py
create mode 100644 bindings/python/example/log_table.py
create mode 100644 bindings/python/example/partitioned_kv_table.py
create mode 100644 bindings/python/example/partitioned_table.py
create mode 100644 bindings/python/example/pk_table.py
copy .licenserc.yaml => bindings/python/stubtest-allowlist.txt (56%)
create mode 100644 bindings/python/test/test_batch_scanner.py
create mode 100644 bindings/python/test/test_examples.py
create mode 100644 bindings/python/test/test_kv_changelog.py
copy crates/examples/src/{example_table.rs => example_kv_changelog.rs} (52%)
create mode 100644 crates/examples/src/example_prometheus_metrics.rs
create mode 100644 crates/fluss/src/metadata/acl.rs
create mode 100644 crates/fluss/src/metadata/cluster_health.rs
create mode 100644 crates/fluss/src/metadata/config.rs
create mode 100644 crates/fluss/src/metadata/goal_type.rs
create mode 100644 crates/fluss/src/metadata/kv_snapshot.rs
create mode 100644 crates/fluss/src/metadata/kv_snapshot_lease.rs
create mode 100644 crates/fluss/src/metadata/lake_snapshot.rs
create mode 100644 crates/fluss/src/metadata/producer_offsets.rs
create mode 100644 crates/fluss/src/metadata/rebalance.rs
create mode 100644 crates/fluss/src/metadata/register_producer_result.rs
create mode 100644 crates/fluss/src/metadata/remote_log.rs
create mode 100644 crates/fluss/src/metadata/server_tag.rs
create mode 100644 crates/fluss/src/metadata/table_change.rs
create mode 100644 crates/fluss/src/metadata/table_stats.rs
copy crates/fluss/src/rpc/message/{drop_partition.rs =>
acquire_kv_snapshot_lease.rs} (54%)
copy crates/fluss/src/rpc/message/{init_writer.rs => add_server_tag.rs} (63%)
copy crates/fluss/src/rpc/message/{init_writer.rs => alter_cluster_configs.rs}
(60%)
copy crates/fluss/src/rpc/message/{drop_partition.rs => alter_database.rs}
(60%)
copy crates/fluss/src/rpc/message/{drop_partition.rs => alter_table.rs} (53%)
copy crates/fluss/src/rpc/message/{init_writer.rs => cancel_rebalance.rs} (64%)
copy crates/fluss/src/rpc/message/{init_writer.rs => create_acls.rs} (65%)
copy crates/fluss/src/rpc/message/{init_writer.rs =>
delete_producer_offsets.rs} (62%)
copy crates/fluss/src/rpc/message/{list_databases.rs =>
describe_cluster_configs.rs} (64%)
copy crates/fluss/src/rpc/message/{init_writer.rs => drop_acls.rs} (65%)
copy crates/fluss/src/rpc/message/{init_writer.rs =>
drop_kv_snapshot_lease.rs} (64%)
copy crates/fluss/src/rpc/message/{list_databases.rs => get_cluster_health.rs}
(67%)
copy crates/fluss/src/rpc/message/{drop_partition.rs =>
get_kv_snapshot_metadata.rs} (55%)
copy crates/fluss/src/rpc/message/{drop_table.rs => get_lake_snapshot.rs} (63%)
copy crates/fluss/src/rpc/message/{drop_table.rs =>
get_latest_kv_snapshots.rs} (62%)
copy crates/fluss/src/rpc/message/{init_writer.rs => get_producer_offsets.rs}
(63%)
copy crates/fluss/src/rpc/message/{drop_partition.rs => get_table_stats.rs}
(55%)
copy crates/fluss/src/rpc/message/{init_writer.rs => list_acls.rs} (66%)
copy crates/fluss/src/rpc/message/{list_databases.rs =>
list_database_summaries.rs} (67%)
copy crates/fluss/src/rpc/message/{init_writer.rs => list_kv_snapshots.rs}
(59%)
copy crates/fluss/src/rpc/message/{init_writer.rs =>
list_rebalance_progress.rs} (62%)
copy crates/fluss/src/rpc/message/{get_security_token.rs =>
list_remote_log_manifests.rs} (57%)
copy crates/fluss/src/rpc/message/{init_writer.rs => rebalance.rs} (65%)
copy crates/fluss/src/rpc/message/{drop_partition.rs =>
register_producer_offsets.rs} (54%)
copy crates/fluss/src/rpc/message/{init_writer.rs =>
release_kv_snapshot_lease.rs} (57%)
copy crates/fluss/src/rpc/message/{init_writer.rs => remove_server_tag.rs}
(62%)
copy crates/fluss/src/rpc/message/{drop_partition.rs => scan_kv.rs} (57%)
create mode 100644 crates/fluss/tests/integration/kv_changelog.rs
create mode 100644 website/docs/user-guide/cpp/example/prefix-lookup.md
create mode 100644 website/docs/user-guide/rust/metrics.md