This is an automated email from the ASF dual-hosted git repository.
slbotbm pushed a change to branch feat/add-python-stream-management-functions
in repository https://gitbox.apache.org/repos/asf/iggy.git
discard c92f914a2 fix precommit
discard 88ba2b335 address comments
discard e47f23347 address comments
discard af3e0aabd fix test
discard efee3daf0 test fixture fixes
discard 76520fe4a fixes
discard 3781412f7 add test clean up
discard 7000a3de2 add tests and stubs
discard 21e5177a5 add proper docs
discard 9a93dc7bd add stream getters and docs
discard 2567de371 feat(python): add stream listing, update, delete, and purge
add 8b7dbd9c6 chore(deps): Bump the go group across 2 directories with 2
updates (#3990)
add a1df38354 test(partitions): gate the persist-retry test on Linux
(#3998)
add 31b86ff2a fix(server)!: reject a wildcard bind with no advertised
address (#3923)
add dde679aea ci(python): fold the build task into test and check the stub
(#3980)
add 3e4898ac6 fix(bdd): resolve server address and credentials only from
env (#3935)
add e80992b63 chore(deps): Bump the java group across 3 directories with
17 updates (#3966)
add dc1cdf232 fix(sdk): respect max_buffer_size when merging batches
(#3933)
add 6ef0c1677 feat(sdk): consume the request counter for partition
operations (#3958)
add e9b1c9a12 fix(cluster): stop a late partition materialiser from
wedging its group (#4007)
add bb973973d chore(deps): Bump the csharp group with 1 update (#4011)
add b1b911ffb fix(sdk): stream should terminate after consumer shutdown
(#3964)
add 72b5995c5 docs(repo): add repo-wide team-review agent skill (#4004)
add 328b28974 fix(journal): reject recovery slot collisions (#4009)
add 8c4986ac5 fix(io_uring): keep shard startup off blocking fallbacks
add 0270b76b6 refactor(server): make the module graph a DAG and enforce it
(#4023)
add 3aed9f458 fix(shard): keep a parked prepare's stamp and op order on
re-dispatch (#4005)
add e362c0f0d fix(connectors): iceberg sink writes real partitions on
iceberg 0.10 (#3969)
add 9b7cc5c4c chore(docs): core/sdk lib.rs and IggyClient docs (#3809)
add 831b2a652 perf(server): serve poll replies without copying record
bytes (#4025)
add 2783907c7 fix(csharp): set default socket buffer size to OS default
(#4013)
add f45f9dda9 refactor(server): split the dispatch spine into plane-named
leaves (#4026)
add 4dd877267 chore(sdk): IggyProducer docs for Rust SDK (#3989)
add 7ff4eb170 chore(deps): Bump com.github.spotbugs:spotbugs-annotations
from 4.10.3 to 4.10.4 in /foreign/java in the java group across 1 directory
(#4029)
add 9dbc5f303 test(integration): stop harness servers pinning shards to
cores (#4030)
add a7d5a2894 chore(sdk): IggyConsumer docs (#3913)
add bbfad594e chore(deps): Bump taiki-e/install-action from 2.86.3 to
2.86.7 in the github-actions group (#4028)
add e7f03879d docs: wait for the issue to be assigned, not for a label
(#4032)
add 38d58ca13 refactor(server): split bootstrap.rs into the boot/ tree
(#4031)
add ad9e5ddce test(integration): catch on-disk storage format breaks
pre-merge (#4003)
add 343ef06eb feat(server,deps,ci): update deps, fix CI scoping, panic
exit, crash recovery (#4033)
add e6ec86950 feat(helm): deploy a cluster with one release per node
(#4035)
add ca0b578a2 fix(sdk): correct consumer group polling and commits in
IggyConsumer (#4034)
add c3df915ff docs: fix partition IDs and auto commit wording in the
README quickstart (#4040)
add d3028f9b2 chore(deps): Bump fast-uri from 3.1.5 to 3.1.7 in
/foreign/node (#4042)
add e77ee39d3 refactor(csharp): update integer properties to unsigned
types for consistency (#4027)
add bad22c03c feat(server): dedup partition writes with per-group client
table slices (#3959)
add b0088408c chore(deps): Bump @humanfs/node from 0.16.7 to 0.16.8 in
/examples/node (#4044)
add 858279b58 chore(deps): Bump @humanfs/node from 0.16.7 to 0.16.8 in
/web (#4045)
add a7fcf9282 chore(deps): Bump the python group across 2 directories with
1 update (#4039)
add 873c6ce6a docs: mention the PHP SDK in the README (#4041)
add 05b3d74b9 test(java): add Pinot connector E2E coverage (#3922)
add 412014a7b docs(simulator): add a README for the deterministic harness
(#4047)
add d53521445 feat(python): add stream listing, update, delete, and purge
add a35883cc4 add stream getters and docs
add 92ce3fcf5 add proper docs
add 92fb332be add tests and stubs
add 3ddcd954d add test clean up
add 10adc5785 fixes
add c4a8342ef test fixture fixes
add a7e5e4d44 fix test
add 2a9ae50b6 address comments
add 51b56d337 address comments
add b40f0ec7f fix precommit
add 527ed83ee fix merge conflict
new 2440fff06 fix ci
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 (c92f914a2)
\
N -- N -- N
refs/heads/feat/add-python-stream-management-functions (2440fff06)
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.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.claude/skills/team-review/SKILL.md | 117 +
.config/nextest.toml | 6 +
.devcontainer/devcontainer.json | 3 +-
.github/actions/go/pre-merge/action.yml | 2 +
.github/actions/java-gradle/pre-merge/action.yml | 6 +
.github/actions/php/pre-merge/action.yml | 10 +-
.../actions/python-maturin/pre-merge/action.yml | 50 +-
.github/actions/rust/pre-merge/action.yml | 77 +-
.../actions/utils/setup-rust-with-cache/action.yml | 7 +-
.github/config/components.yml | 39 +-
.github/config/hawkeye.version | 2 +-
.github/workflows/_common.yml | 2 +-
.github/workflows/_test.yml | 52 +-
.github/workflows/coverage-baseline.yml | 8 +-
.github/workflows/post-merge.yml | 6 +-
.github/workflows/pre-merge.yml | 2 +
AGENTS.md | 17 +-
CONTRIBUTING.md | 2 +-
Cargo.lock | 2601 +++++-----
Cargo.toml | 168 +-
README.md | 18 +-
.../features/step_definitions/background_steps.cpp | 15 +-
bdd/docker-compose.cluster.yml | 6 +
bdd/docker-compose.server.yml | 4 +
bdd/docker-compose.yml | 9 +-
bdd/go/go.mod | 4 +-
bdd/go/go.sum | 19 +-
bdd/go/tests/basic_messaging.go | 10 +-
bdd/go/tests/env/env.go | 55 +
bdd/go/tests/leader_redirection.go | 26 +-
bdd/go/tests/raw_command.go | 11 +-
bdd/go/tests/tcp_test/session_feature_login.go | 7 +-
bdd/go/tests/tcp_test/test_helpers.go | 11 +-
bdd/java/Dockerfile | 2 +-
bdd/java/build.gradle.kts | 10 +-
bdd/java/gradle/wrapper/gradle-wrapper.properties | 2 +-
bdd/java/gradlew | 4 +-
.../org/apache/iggy/bdd/BasicMessagingSteps.java | 11 +-
.../apache/iggy/bdd/LeaderRedirectionSteps.java | 15 +-
.../java/org/apache/iggy/bdd/TestEnvironment.java | 59 +
bdd/php/Dockerfile | 2 -
bdd/php/tests/BasicMessagingFeatureTest.php | 5 +-
bdd/php/tests/RawCommandFeatureTest.php | 7 +-
bdd/php/tests/TestEnvironment.php | 53 +
bdd/python/tests/conftest.py | 24 +-
bdd/python/tests/test_basic_messaging.py | 4 +-
bdd/python/tests/test_raw_command.py | 4 +-
bdd/python/uv.lock | 44 +-
bdd/rust/tests/helpers/cluster.rs | 17 +-
.../rust/tests/helpers/env.rs | 57 +-
bdd/rust/tests/helpers/mod.rs | 1 +
bdd/rust/tests/steps/auth.rs | 3 +-
bdd/rust/tests/steps/leader_redirection.rs | 3 +-
bdd/rust/tests/steps/server.rs | 5 +-
core/ai/mcp/Cargo.toml | 2 +-
core/bench/Cargo.toml | 2 +-
core/bench/report/src/prints.rs | 6 +-
.../src/actors/consumer/benchmark_consumer.rs | 6 +-
core/bench/src/actors/consumer/client/low_level.rs | 28 +-
.../src/actors/producer/benchmark_producer.rs | 6 +-
.../benchmark_producing_consumer.rs | 6 +-
core/binary_protocol/Cargo.toml | 2 +-
core/binary_protocol/src/consensus/header.rs | 4 +-
.../create_partitions_with_assignments.rs | 44 +
.../topics/create_topic_with_assignments.rs | 46 +
core/cli/Cargo.toml | 2 +-
core/cli/src/commands/binary_client/get_client.rs | 2 +-
.../binary_consumer_groups/get_consumer_group.rs | 2 +-
core/common/Cargo.toml | 2 +-
core/common/src/consumer_group_client_state.rs | 38 +
core/common/src/lib.rs | 7 +
core/common/src/traits/binary_impls/messages.rs | 43 +-
core/common/src/traits/message_client.rs | 41 +-
core/common/src/traits/partitioner.rs | 16 +-
core/common/src/types/message/partitioning.rs | 17 +-
core/common/src/types/message/polled_messages.rs | 6 +-
.../src/types/permissions/permissions_global.rs | 6 +-
core/configs/src/server_config/cluster.rs | 423 +-
core/configs/src/server_config/defaults.rs | 3 +
core/configs/src/server_config/metadata.rs | 4 +-
core/configs/src/server_config/mod.rs | 1 +
core/configs/src/server_config/node.rs | 89 +
core/configs/src/server_config/partition.rs | 52 +
core/configs/src/server_config/server.rs | 54 +
core/configs/src/server_config/validators.rs | 133 +
core/connectors/runtime/Cargo.toml | 2 +-
core/connectors/sdk/src/decoders/avro.rs | 18 +-
core/connectors/sdk/src/encoders/avro.rs | 16 +-
core/connectors/sdk/src/transforms/avro_convert.rs | 6 +-
core/connectors/sinks/clickhouse_sink/Cargo.toml | 1 +
core/connectors/sinks/iceberg_sink/Cargo.toml | 4 +
core/connectors/sinks/iceberg_sink/README.md | 10 +
core/connectors/sinks/iceberg_sink/config.toml | 1 +
core/connectors/sinks/iceberg_sink/src/catalog.rs | 1 -
core/connectors/sinks/iceberg_sink/src/lib.rs | 8 +
core/connectors/sinks/iceberg_sink/src/props.rs | 16 +
.../sinks/iceberg_sink/src/router/mod.rs | 459 +-
core/consensus/src/client_table.rs | 746 ++-
core/consensus/src/impls.rs | 121 +-
core/consensus/src/lib.rs | 20 +-
core/consensus/src/metadata_helpers.rs | 8 +-
core/consensus/src/plane_helpers.rs | 6 +-
core/integration/Cargo.toml | 2 +-
core/integration/src/harness/config/common.rs | 11 +
core/integration/src/harness/config/server.rs | 5 +
core/integration/src/harness/handle/server.rs | 194 +-
.../src/harness/orchestrator/builder.rs | 15 +-
core/integration/src/harness/port_reserver.rs | 8 +-
.../tests/cluster/client_table_adversarial.rs | 140 +-
core/integration/tests/cluster/crash_durability.rs | 7 +-
core/integration/tests/cluster/mod.rs | 2 +
.../tests/cluster/parked_frame_redispatch.rs | 363 ++
core/integration/tests/cluster/partition_dedup.rs | 749 +++
.../tests/connectors/fixtures/iceberg/container.rs | 64 +-
.../tests/connectors/fixtures/iceberg/mod.rs | 3 +-
core/integration/tests/connectors/fixtures/mod.rs | 3 +-
.../tests/connectors/iceberg/iceberg_sink.rs | 82 +-
core/integration/tests/data_integrity/mod.rs | 5 +
.../tests/data_integrity/storage_compat.rs | 1473 ++++++
core/integration/tests/sdk/consumer_group.rs | 83 +
.../tests/sdk/consumer_group_membership.rs | 276 ++
core/integration/tests/sdk/consumer_shutdown.rs | 112 +
core/integration/tests/sdk/mod.rs | 1 +
.../tests/server/cluster_metadata_advertised.rs | 80 +
core/integration/tests/server/http_view_header.rs | 228 +
core/integration/tests/server/mod.rs | 9 +
core/integration/tests/server/port_discovery.rs | 118 +
core/journal/src/file_storage.rs | 78 +-
core/journal/src/prepare_journal.rs | 95 +-
core/message_bus/src/client_listener/mod.rs | 75 +-
core/message_bus/src/client_listener/tcp.rs | 8 +-
core/message_bus/src/client_listener/ws.rs | 8 +-
core/message_bus/src/lib.rs | 26 +-
.../src/lifecycle/connection_registry.rs | 53 +-
core/message_bus/src/replica/io.rs | 4 +-
core/message_bus/src/transports/mod.rs | 18 +-
core/message_bus/src/transports/quic.rs | 39 +-
core/message_bus/src/transports/tcp.rs | 143 +-
core/message_bus/src/transports/tcp_tls.rs | 18 +-
core/message_bus/src/transports/ws.rs | 14 +-
core/message_bus/src/transports/wss.rs | 20 +-
core/message_bus/tests/graceful_shutdown.rs | 4 +-
core/message_bus/tests/tcp_client_roundtrip.rs | 4 +-
core/message_bus/tests/tcp_tls_client_listener.rs | 7 +-
core/message_bus/tests/tcp_tls_client_roundtrip.rs | 7 +-
core/message_bus/tests/ws_client_roundtrip.rs | 4 +-
core/message_bus/tests/wss_client_listener.rs | 7 +-
core/message_bus/tests/wss_client_roundtrip.rs | 7 +-
core/metadata/src/impls/metadata.rs | 17 +-
core/metadata/src/stm/authz.rs | 1 +
core/metadata/src/stm/consumer_group.rs | 1 +
core/metadata/src/stm/snapshot.rs | 33 +-
core/metadata/src/stm/stream.rs | 126 +-
core/partitions/src/iggy_partition.rs | 300 +-
core/partitions/src/iggy_partitions.rs | 63 +-
core/partitions/src/journal.rs | 243 +-
core/partitions/src/messages_writer.rs | 6 +-
core/partitions/src/poll_plan.rs | 7 +-
core/partitions/src/send_messages2.rs | 17 -
core/partitions/src/state_transfer.rs | 300 +-
core/partitions/src/types.rs | 22 +
core/sdk/Cargo.toml | 2 +-
.../src/client_wrappers/binary_message_client.rs | 42 +-
core/sdk/src/clients/binary_message.rs | 26 +-
core/sdk/src/clients/client.rs | 736 ++-
core/sdk/src/clients/consumer.rs | 1251 ++++-
core/sdk/src/clients/consumer_builder.rs | 26 +-
core/sdk/src/clients/producer.rs | 439 +-
core/sdk/src/clients/producer_builder.rs | 2 +-
core/sdk/src/clients/producer_config.rs | 239 +-
core/sdk/src/clients/producer_dispatcher.rs | 580 ++-
core/sdk/src/clients/producer_error_callback.rs | 139 +-
core/sdk/src/clients/producer_sharding.rs | 413 +-
core/sdk/src/lib.rs | 275 +
core/sdk/src/prelude.rs | 3 +-
core/sdk/src/quic/quic_client.rs | 11 +-
core/sdk/src/tcp/tcp_client.rs | 7 +
core/sdk/src/vsr.rs | 74 +-
core/sdk/src/websocket/websocket_client.rs | 7 +
core/server/Cargo.toml | 7 +-
core/server/README.md | 11 +-
core/server/build.rs | 23 +
core/server/config.toml | 33 +-
core/server/src/args.rs | 4 +-
core/server/src/auth.rs | 457 --
core/server/src/boot/credentials.rs | 502 ++
core/server/src/boot/handoff.rs | 434 ++
core/server/src/boot/listeners.rs | 636 +++
core/server/src/boot/mod.rs | 1043 ++++
core/server/src/boot/recovery.rs | 879 ++++
core/server/src/{ => boot}/systemd.rs | 0
core/server/src/boot/threads.rs | 801 +++
core/server/src/boot/topology.rs | 729 +++
core/server/src/bootstrap.rs | 5056 -------------------
core/server/src/cluster_meta.rs | 275 +-
core/server/src/config_writer.rs | 75 +-
core/server/src/consumer_group.rs | 6 +-
core/server/src/dispatch.rs | 5242 --------------------
core/server/src/dispatch/authz.rs | 16 +-
.../{login_register.rs => dispatch/login_error.rs} | 25 +-
core/server/src/dispatch/mod.rs | 1414 ++++++
core/server/src/dispatch/partition.rs | 1586 ++++++
core/server/src/dispatch/reads.rs | 491 ++
core/server/src/dispatch/session_ops.rs | 2096 ++++++++
core/server/src/dispatch/submit.rs | 194 +
core/server/src/dispatch/test_support.rs | 279 ++
core/server/src/http.rs | 155 +-
core/server/src/http/error.rs | 22 +-
core/server/src/http/extractor.rs | 2 +-
core/server/src/http/forward.rs | 57 +-
core/server/src/http/handlers.rs | 75 +-
core/server/src/http/metrics.rs | 101 +-
core/server/src/http/reads.rs | 2 +-
core/server/src/http/reply.rs | 15 +-
core/server/src/http/session.rs | 38 +-
core/server/src/http/state.rs | 29 +-
core/server/src/http/submit.rs | 34 +-
core/server/src/http/tls.rs | 10 +-
core/server/src/{ => http}/web.rs | 0
core/server/src/lib.rs | 51 +-
core/server/src/main.rs | 6 +-
core/server/src/partition_helpers.rs | 629 ++-
core/server/src/partition_reconciler.rs | 703 ++-
core/server/src/pat.rs | 4 +-
core/server/src/personal_access_token_cleaner.rs | 2 +-
core/server/src/responses.rs | 454 +-
core/server/src/segment_cleaner.rs | 2 +-
core/server/src/server_error.rs | 15 +-
.../src/lib.rs => server/src/shard_allocator.rs} | 51 +-
core/server/src/shell.rs | 202 +
core/server/src/users.rs | 4 +-
core/server/src/wire.rs | 12 +-
core/server/tests/module_graph.rs | 352 ++
core/server_common/src/consensus_message.rs | 75 +-
core/server_common/src/crypto.rs | 19 +-
core/server_common/src/iobuf.rs | 27 +
core/server_common/src/lib.rs | 1 +
core/shard/Cargo.toml | 16 +-
core/shard/src/lib.rs | 861 +++-
core/shard/src/metrics.rs | 45 +-
core/shard/src/router.rs | 117 +-
core/shard_allocator/Cargo.toml | 41 -
core/shard_allocator/build.rs | 43 -
core/simulator/Cargo.toml | 24 +-
core/simulator/README.md | 236 +
core/simulator/src/bus.rs | 9 +-
core/simulator/src/client.rs | 109 +-
core/simulator/src/lib.rs | 752 ++-
core/simulator/src/replica.rs | 9 +-
docker-compose.yml | 4 +
examples/csharp/README.md | 2 +-
examples/go/README.md | 2 +-
examples/go/go.sum | 10 +-
examples/java/README.md | 2 +-
examples/java/build.gradle.kts | 4 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 2 +-
examples/java/gradlew | 4 +-
examples/node/README.md | 5 +-
examples/node/package-lock.json | 36 +-
examples/python/README.md | 5 +-
examples/python/uv.lock | 44 +-
examples/rust/README.md | 2 +-
foreign/cpp/Cargo.toml | 4 +-
foreign/cpp/MODULE.bazel | 6 +-
foreign/cpp/MODULE.bazel.lock | 44 +-
foreign/csharp/Benchmarks/Program.cs | 10 -
foreign/csharp/Directory.Packages.props | 2 +-
.../Iggy_SDK.Tests.BDD/Context/TestContext.cs | 6 +-
.../Iggy_SDK.Tests.BDD/Context/TestEnvironment.cs | 44 +
.../csharp/Iggy_SDK.Tests.BDD/Context/TestHooks.cs | 3 -
foreign/csharp/Iggy_SDK.Tests.BDD/README.md | 25 +-
.../BasicMessagingOperationsSteps.cs | 5 +-
.../StepDefinitions/LeaderRedirectionSteps.cs | 6 +-
.../ClusterRedirectionTests.cs | 2 +-
.../ConsumerGroupTests.cs | 9 +-
.../FetchMessagesTests.cs | 4 +-
.../Fixtures/VsrCluster.cs | 1 +
.../Iggy_SDK.Tests.Integration/HeartbeatTests.cs | 8 +-
.../IggyPublisherTests.cs | 2 +-
.../Iggy_SDK.Tests.Integration/OffsetTests.cs | 6 +-
.../PersonalAccessTokenTests.cs | 2 +-
.../Iggy_SDK.Tests.Integration/StreamsTests.cs | 12 +-
.../Iggy_SDK.Tests.Integration/SystemTests.cs | 29 +-
.../Iggy_SDK.Tests.Integration/TopicsTests.cs | 4 -
.../Iggy_SDK.Tests.Integration/UsersTests.cs | 14 +-
.../Vsr/VsrMessagingTests.cs | 2 +-
.../Configuration/IggyClientConfigurator.cs | 12 +-
.../Iggy_SDK/Consumers/IggyConsumer.Logging.cs | 5 +
.../Iggy_SDK/Consumers/IggyConsumer.Rented.cs | 15 +-
foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs | 28 +-
.../Iggy_SDK/Consumers/IggyConsumerBuilder.cs | 36 +-
.../Iggy_SDK/Consumers/IggyConsumerConfig.cs | 12 +-
.../csharp/Iggy_SDK/Contracts/Auth/AuthResponse.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/Auth/Permissions.cs | 2 +-
foreign/csharp/Iggy_SDK/Contracts/ClientInfo.cs | 4 +-
foreign/csharp/Iggy_SDK/Contracts/ClusterNode.cs | 6 -
.../csharp/Iggy_SDK/Contracts/ClusterNodeStatus.cs | 7 +-
.../csharp/Iggy_SDK/Contracts/ConsumerGroupInfo.cs | 6 +-
.../Iggy_SDK/Contracts/ConsumerGroupMembers.cs | 4 +-
.../csharp/Iggy_SDK/Contracts/MessageResponse.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/OffsetResponse.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/PartitionResponse.cs | 4 +-
.../csharp/Iggy_SDK/Contracts/PolledMessages.cs | 9 +-
.../Iggy_SDK/Contracts/PolledMessagesRental.cs | 2 +-
.../Iggy_SDK/Contracts/RentedMessageResponse.cs | 2 +-
foreign/csharp/Iggy_SDK/Contracts/StatsResponse.cs | 14 +-
.../csharp/Iggy_SDK/Contracts/StreamPermissions.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/StreamResponse.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs | 225 +-
.../ClientTransport.cs} | 26 +-
.../csharp/Iggy_SDK/Factory/IggyClientFactory.cs | 15 +-
foreign/csharp/Iggy_SDK/Identifier.cs | 11 +-
.../csharp/Iggy_SDK/IggyClient/IIggyConsumer.cs | 12 +-
.../Implementations/HttpMessageStream.cs | 4 +-
.../Implementations/TcpMessageStream.Vsr.cs | 24 +-
.../IggyClient/Implementations/TcpMessageStream.cs | 11 +-
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
foreign/csharp/Iggy_SDK/Kinds/Consumer.cs | 22 +
foreign/csharp/Iggy_SDK/Kinds/Partitioning.cs | 13 +-
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs | 510 +-
.../Iggy_SDK/Publishers/IggyPublisherBuilder.cs | 36 +-
.../Iggy_SDK/Publishers/IggyPublisherConfig.cs | 14 +-
foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs | 10 +-
.../Iggy_SDK/Vsr/ConsumerGroupClientState.cs | 25 +-
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 6 +-
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 11 -
.../ClientTests/IggyClientFactoryTests.cs | 20 +
.../ConsumerTests/IggyConsumerBuilderTests.cs | 27 +
.../NoAssignedPartitionBackoffTests.cs | 193 +
.../MessageBatchGoldenVectorTests.cs | 2 +-
.../ContractsTests/UserContractsTests.cs | 124 +
.../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs | 300 +-
.../MapperTests/HeaderEncryptionTests.cs | 56 +-
.../MapperTests/OptionsBlockGoldenVectorTests.cs | 10 +
.../PublisherTests/IggyPublisherBuilderTests.cs | 27 +
.../IdentifiersByteSerializationTests.cs | 25 +
.../csharp/Iggy_SDK_Tests/Utils/BinaryFactory.cs | 61 +-
.../Iggy_SDK_Tests/Utils/Streams/StreamFactory.cs | 4 +-
.../Utils/Users/PermissionsFactory.cs | 24 +-
.../Iggy_SDK_Tests/Utils/Users/UsersFactory.cs | 6 +-
.../VsrTests/ConsensusSessionTests.cs | 19 +-
.../VsrTests/ConsumerGroupClientStateTests.cs | 14 +-
.../VsrTests/EndpointFailoverTests.cs | 265 +-
.../Iggy_SDK_Tests/VsrTests/GroupPollingTests.cs | 150 +
foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs | 251 +
.../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs | 12 +-
.../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs | 5 +-
foreign/csharp/README.md | 6 +-
foreign/go/go.mod | 5 +-
foreign/go/go.sum | 10 +-
foreign/go/internal/vsr/envelope.go | 11 +-
foreign/go/internal/vsr/envelope_test.go | 18 +-
foreign/go/internal/vsr/header.go | 5 +-
foreign/go/internal/vsr/operation.go | 11 +-
foreign/go/internal/vsr/operation_test.go | 8 -
foreign/go/internal/vsr/protocol_parity_test.go | 3 -
foreign/go/internal/vsr/session.go | 11 +-
.../iggy-connector-flink/docker-compose.yml | 1 +
.../iggy-connector-pinot/build.gradle.kts | 25 +-
.../iggy-connector-pinot/docker-compose.yml | 1 +
.../iggy-connector-pinot/integration-test.sh | 234 -
.../connector/pinot/IggyPinotIntegrationTest.java | 465 ++
foreign/java/gradle/libs.versions.toml | 18 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 2 +-
foreign/java/gradlew | 4 +-
.../client/async/tcp/vsr/ConsensusSession.java | 30 +-
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 6 +-
.../iggy/client/async/tcp/vsr/VsrOperation.java | 5 -
.../client/async/tcp/vsr/VsrRequestEncoder.java | 9 +-
.../apache/iggy/client/BaseIntegrationTest.java | 1 +
.../async/tcp/vsr/VsrRequestEncoderTest.java | 12 +-
.../async/tcp/vsr/VsrResponseHandlerTest.java | 72 +
foreign/node/README.md | 20 +-
foreign/node/package-lock.json | 7 +-
foreign/node/scripts/check-vsr-protocol.mjs | 6 -
foreign/node/src/bdd/README.md | 23 +-
foreign/node/src/bdd/auth.ts | 6 +-
.../types/mod.rs => foreign/node/src/bdd/env.ts | 38 +-
foreign/node/src/wire/vsr/header.ts | 6 +-
foreign/node/src/wire/vsr/index.ts | 13 +-
foreign/node/src/wire/vsr/operation.test.ts | 3 -
foreign/node/src/wire/vsr/operation.ts | 5 -
foreign/node/src/wire/vsr/session.ts | 6 +-
foreign/node/src/wire/vsr/vsr.test.ts | 43 +-
foreign/php/Cargo.toml | 6 +-
foreign/php/Dockerfile.test | 3 +-
foreign/php/README.md | 9 +-
foreign/php/composer.json | 2 +-
foreign/php/docker-compose.test.yml | 8 +-
foreign/php/iggy-php.stubs.php | 3 +
foreign/php/phpunit.xml.dist | 2 +-
foreign/php/scripts/test.sh | 9 +-
foreign/php/src/client.rs | 3 +
foreign/php/tests/IggySdkTest.php | 2 +-
foreign/php/tests/bootstrap.php | 17 +-
foreign/python/Cargo.toml | 8 +-
foreign/python/README.md | 3 +-
foreign/python/apache_iggy.pyi | 6 +-
foreign/python/docker-compose.test.yml | 1 +
foreign/python/pylock.toml | 807 +--
foreign/python/pyproject.toml | 8 +-
foreign/python/src/bin/stub_gen.rs | 11 +-
foreign/python/src/client.rs | 2 +
foreign/python/src/topic.rs | 4 +-
foreign/python/tests/test_tls.py | 1 +
foreign/python/uv.lock | 406 +-
gateways/kafka/Cargo.toml | 2 +-
gateways/kafka/tools/kafka-tool/Cargo.toml | 6 +-
gateways/kafka/tools/kafka-tool/src/main.rs | 1 +
helm/charts/iggy/Chart.yaml | 4 +-
helm/charts/iggy/README.md | 226 +-
helm/charts/iggy/README.md.gotmpl | 186 +-
helm/charts/iggy/examples/cluster-3-node.yaml | 130 +
helm/charts/iggy/templates/_helpers.tpl | 234 +
helm/charts/iggy/templates/deployment.yaml | 89 +-
helm/charts/iggy/templates/hpa.yaml | 61 -
...t-user-credentials.yaml => server-secrets.yaml} | 23 +-
helm/charts/iggy/templates/service.yaml | 6 +-
helm/charts/iggy/values.yaml | 135 +-
licenserc.toml | 1 +
scripts/ci/storage-compat.sh | 283 ++
scripts/ci/test-helm.sh | 72 +-
web/README.md | 3 +-
web/docker-compose.yml | 1 +
web/package-lock.json | 28 +-
425 files changed, 33895 insertions(+), 17233 deletions(-)
create mode 100644 .claude/skills/team-review/SKILL.md
create mode 100644 bdd/go/tests/env/env.go
create mode 100644
bdd/java/src/test/java/org/apache/iggy/bdd/TestEnvironment.java
create mode 100644 bdd/php/tests/TestEnvironment.php
copy foreign/csharp/Iggy_SDK/Contracts/ClusterNode.cs =>
bdd/rust/tests/helpers/env.rs (50%)
create mode 100644 core/configs/src/server_config/node.rs
create mode 100644 core/integration/tests/cluster/parked_frame_redispatch.rs
create mode 100644 core/integration/tests/cluster/partition_dedup.rs
create mode 100644 core/integration/tests/data_integrity/storage_compat.rs
create mode 100644 core/integration/tests/sdk/consumer_shutdown.rs
create mode 100644 core/integration/tests/server/cluster_metadata_advertised.rs
create mode 100644 core/integration/tests/server/http_view_header.rs
create mode 100644 core/integration/tests/server/port_discovery.rs
delete mode 100644 core/partitions/src/send_messages2.rs
delete mode 100644 core/server/src/auth.rs
create mode 100644 core/server/src/boot/credentials.rs
create mode 100644 core/server/src/boot/handoff.rs
create mode 100644 core/server/src/boot/listeners.rs
create mode 100644 core/server/src/boot/mod.rs
create mode 100644 core/server/src/boot/recovery.rs
rename core/server/src/{ => boot}/systemd.rs (100%)
create mode 100644 core/server/src/boot/threads.rs
create mode 100644 core/server/src/boot/topology.rs
delete mode 100644 core/server/src/bootstrap.rs
delete mode 100644 core/server/src/dispatch.rs
rename core/server/src/{login_register.rs => dispatch/login_error.rs} (75%)
create mode 100644 core/server/src/dispatch/mod.rs
create mode 100644 core/server/src/dispatch/partition.rs
create mode 100644 core/server/src/dispatch/reads.rs
create mode 100644 core/server/src/dispatch/session_ops.rs
create mode 100644 core/server/src/dispatch/submit.rs
create mode 100644 core/server/src/dispatch/test_support.rs
rename core/server/src/{ => http}/web.rs (100%)
rename core/{shard_allocator/src/lib.rs => server/src/shard_allocator.rs} (93%)
create mode 100644 core/server/src/shell.rs
create mode 100644 core/server/tests/module_graph.rs
delete mode 100644 core/shard_allocator/Cargo.toml
delete mode 100644 core/shard_allocator/build.rs
create mode 100644 core/simulator/README.md
create mode 100644 foreign/csharp/Iggy_SDK.Tests.BDD/Context/TestEnvironment.cs
copy foreign/csharp/Iggy_SDK/{Contracts/ClusterNodeStatus.cs =>
Enums/ClientTransport.cs} (70%)
create mode 100644
foreign/csharp/Iggy_SDK_Tests/ConsumerTests/NoAssignedPartitionBackoffTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/ContractsTests/UserContractsTests.cs
create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/GroupPollingTests.cs
create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs
delete mode 100755
foreign/java/external-processors/iggy-connector-pinot/integration-test.sh
create mode 100644
foreign/java/external-processors/iggy-connector-pinot/src/test/java/org/apache/iggy/connector/pinot/IggyPinotIntegrationTest.java
copy core/bench/report/src/types/mod.rs => foreign/node/src/bdd/env.ts (50%)
create mode 100644 helm/charts/iggy/examples/cluster-3-node.yaml
delete mode 100644 helm/charts/iggy/templates/hpa.yaml
copy helm/charts/iggy/templates/{root-user-credentials.yaml =>
server-secrets.yaml} (50%)
create mode 100755 scripts/ci/storage-compat.sh