This is an automated email from the ASF dual-hosted git repository.
numinnex pushed a change to branch metadata_repair_and_commit_from_tick
in repository https://gitbox.apache.org/repos/asf/iggy.git
from d5c8ba190 fix(shard): drive metadata repair and the commit walk from
the tick
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 7f0bc26d1 chore(deps): Bump the node group across 2 directories with 3
updates (#4052)
add 02f844f4c chore(deps): Bump the web group across 1 directory with 3
updates (#4051)
add 3cfc7df0d test(java): boot the edge server consistently in both Java
suites (#4054)
add b44724213 fix(cluster): serve metadata reads at or above the client's
own writes (#4024)
add 39c1bd0a5 fix(partitions): reserve offsets before confirming them
(#3975)
add be2265c9e refactor(server): make dispatch routing and failure paths
explicit (#4036)
add bc9ef0c3f fix(connectors): warn when the runtime API is exposed
without a key (#3804)
add 9914f5a81 fix(shard): drive partition repair and the commit walk from
the tick (#4006)
add 9a8573a2e merge master
No new revisions were added by this update.
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 +-
.../tests/tcp_test/offset_feature_deserialize.go | 9 +-
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 | 21 +-
.../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 +-
bdd/rust/tests/steps/streams.rs | 31 +-
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 | 479 +-
core/configs/src/server_config/defaults.rs | 11 +
core/configs/src/server_config/displays.rs | 7 +-
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 | 161 +
core/configs/src/server_config/server.rs | 54 +
core/configs/src/server_config/validators.rs | 133 +
core/connectors/runtime/Cargo.toml | 2 +-
core/connectors/runtime/README.md | 86 +-
core/connectors/runtime/config.toml | 9 +-
core/connectors/runtime/example_config/config.toml | 9 +-
core/connectors/runtime/src/api/config.rs | 111 +-
core/connectors/runtime/src/api/mod.rs | 573 ++-
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 | 125 +-
core/consensus/src/lib.rs | 20 +-
core/consensus/src/metadata_helpers.rs | 8 +-
core/consensus/src/observability.rs | 22 +
core/consensus/src/plane_helpers.rs | 6 +-
core/consensus/src/vsr_state.rs | 160 +-
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 +-
.../tests/cluster/crash_offset_reuse.rs | 446 +-
core/integration/tests/cluster/mod.rs | 1 +
.../tests/cluster/parked_frame_redispatch.rs | 50 +-
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 | 1555 ++++++
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_client.rs | 75 +-
.../tests/server/http_read_your_writes.rs | 219 +
core/integration/tests/server/http_view_header.rs | 163 +
core/integration/tests/server/http_vsr.rs | 98 +
core/integration/tests/server/legacy_login_vsr.rs | 53 +-
core/integration/tests/server/mod.rs | 19 +
.../integration/tests/server/poll_semantics_vsr.rs | 57 +-
core/integration/tests/server/port_discovery.rs | 118 +
core/integration/tests/server/raw_tcp.rs | 207 +
core/integration/tests/server/unknown_code_vsr.rs | 92 +
core/journal/src/file_storage.rs | 78 +-
core/journal/src/prepare_journal.rs | 95 +-
core/journal/src/superblock.rs | 4 +-
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/applied_frontier.rs | 400 ++
core/metadata/src/impls/metadata.rs | 147 +-
core/metadata/src/impls/recovery.rs | 1 +
core/metadata/src/lib.rs | 5 +
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/Cargo.toml | 8 +
core/partitions/src/iggy_partition.rs | 2836 +++++++++--
core/partitions/src/iggy_partitions.rs | 63 +-
core/partitions/src/journal.rs | 348 +-
core/partitions/src/lib.rs | 22 +-
core/partitions/src/log.rs | 27 +-
core/partitions/src/messages_writer.rs | 6 +-
core/partitions/src/poll_plan.rs | 7 +-
core/partitions/src/segment_anchor.rs | 329 ++
core/partitions/src/send_messages2.rs | 17 -
core/partitions/src/state_transfer.rs | 337 +-
core/partitions/src/types.rs | 50 +
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 | 93 +-
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 | 1124 +++++
core/server/src/boot/recovery.rs | 1036 ++++
core/server/src/{ => boot}/systemd.rs | 0
core/server/src/boot/threads.rs | 1267 +++++
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 | 319 +-
core/server/src/dispatch/failure.rs | 629 +++
.../{login_register.rs => dispatch/login_error.rs} | 25 +-
core/server/src/dispatch/mod.rs | 1604 ++++++
core/server/src/dispatch/partition.rs | 1743 +++++++
core/server/src/dispatch/reads.rs | 913 ++++
core/server/src/dispatch/session_ops.rs | 1954 ++++++++
core/server/src/dispatch/submit.rs | 310 ++
core/server/src/dispatch/test_support.rs | 286 ++
core/server/src/http.rs | 156 +-
core/server/src/http/error.rs | 48 +-
core/server/src/http/extractor.rs | 6 +-
core/server/src/http/forward.rs | 114 +-
core/server/src/http/handlers.rs | 215 +-
core/server/src/http/metrics.rs | 101 +-
core/server/src/http/reads.rs | 273 +-
core/server/src/http/reply.rs | 45 +-
core/server/src/http/session.rs | 48 +-
core/server/src/http/state.rs | 157 +-
core/server/src/http/submit.rs | 82 +-
core/server/src/http/tls.rs | 10 +-
core/server/src/{ => http}/web.rs | 0
core/server/src/lib.rs | 53 +-
core/server/src/main.rs | 6 +-
core/server/src/partition_helpers.rs | 991 +++-
core/server/src/partition_reconciler.rs | 391 +-
core/server/src/pat.rs | 4 +-
core/server/src/personal_access_token_cleaner.rs | 2 +-
core/server/src/responses.rs | 595 ++-
core/server/src/rewrite.rs | 570 +++
core/server/src/segment_cleaner.rs | 2 +-
core/server/src/segment_recovery.rs | 390 +-
core/server/src/server_error.rs | 51 +-
core/server/src/session_manager.rs | 230 +-
.../src/lib.rs => server/src/shard_allocator.rs} | 51 +-
core/server/src/shell.rs | 215 +
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 | 2242 +++++++--
core/shard/src/metrics.rs | 126 +-
core/shard/src/router.rs | 126 +-
core/shard_allocator/Cargo.toml | 41 -
core/shard_allocator/build.rs | 43 -
core/simulator/Cargo.toml | 28 +-
core/simulator/README.md | 236 +
core/simulator/src/bus.rs | 9 +-
core/simulator/src/client.rs | 189 +-
core/simulator/src/lib.rs | 1765 +++++--
core/simulator/src/replica.rs | 19 +-
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 | 44 +-
examples/node/package.json | 2 +-
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 | 460 ++
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 | 31 +-
.../async/tcp/vsr/VsrRequestEncoderTest.java | 12 +-
.../async/tcp/vsr/VsrResponseHandlerTest.java | 72 +
foreign/node/README.md | 20 +-
foreign/node/package-lock.json | 149 +-
foreign/node/package.json | 2 +-
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 | 52 +-
foreign/python/docker-compose.test.yml | 1 +
foreign/python/pylock.toml | 838 ++--
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 +-
scripts/ci/storage-compat.sh | 300 ++
scripts/ci/test-helm.sh | 72 +-
web/README.md | 3 +-
web/docker-compose.yml | 1 +
web/package-lock.json | 168 +-
web/package.json | 6 +-
457 files changed, 45871 insertions(+), 18642 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/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_read_your_writes.rs
create mode 100644 core/integration/tests/server/http_view_header.rs
create mode 100644 core/integration/tests/server/port_discovery.rs
create mode 100644 core/integration/tests/server/raw_tcp.rs
create mode 100644 core/integration/tests/server/unknown_code_vsr.rs
create mode 100644 core/metadata/src/applied_frontier.rs
create mode 100644 core/partitions/src/segment_anchor.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
create mode 100644 core/server/src/dispatch/failure.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%)
create mode 100644 core/server/src/rewrite.rs
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