This is an automated email from the ASF dual-hosted git repository.
hubcio pushed a change to branch fix/iceberg-partition-routing
in repository https://gitbox.apache.org/repos/asf/iggy.git
omit 4aaa0d313 fix(connectors): write iceberg sink data into real table
partitions
add 1e2d2220f fix(sdk): error callback should await shard flush on
producer shutdown (#3953)
add 5068a960a chore(deps): Bump the github-actions group across 1
directory with 2 updates (#3968)
add d7c2b6180 fix(python): read consumer metadata without the consumer
lock (#3888)
add 03f5b3034 fix(server): restore the mimalloc global allocator (#3971)
add ed59b955d chore(deps): Bump gradle from 9.6.1-jdk17 to 9.7.0-jdk17 in
/bdd/java in the docker group across 1 directory (#3972)
add 37aec0877 feat(sdk): fail over to a surviving node when the current
one dies (#3944)
add 6a1c84c39 fix(partitions): stop reserving 16 MiB per active segment
index (#3974)
add ffb186dba feat(gateways): iggy gateway for kafka listener (#3519)
add 9c6451d62 fix(consensus): keep a late retry's reply instead of
refusing it (#3945)
add 7b491c09f fix(cluster): prevent repaired prepares from rewinding WAL
parent (#3978)
add 76f2dda5d feat(simulator): drive the workload under network and
replica faults (#3942)
add 1ad3f654c chore(deps): Bump the web group across 1 directory with 4
updates (#3983)
add 0fdf9d688 chore(deps): Bump the node group across 1 directory with 10
updates (#3984)
add db14a4b17 fix(cluster): make the advertised leader accept partition
writes (#3985)
add 90e38b10f feat(node): support connection string syntax for nodejs
client creation (#3917)
add 996ac04c8 fix(cluster): recover writes after a fast partition primary
rejoin (#3987)
add 5916e6f58 feat(partitions): persist log and index concurrently, harden
recovery (#3970)
add eb410a96a fix(server): apply thread pool limit carve-out to all of
macOS (#3994)
add c8ef3b9a4 fix(go): tear down only the connection a request failed on
(#3986)
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
new 14649bae0 fix(connectors): write iceberg sink data into real table
partitions
new ddcf75a74 chore(deps): unify arrow/parquet on 58 and bump iceberg to
0.10.1
new 3593e95ee chore(connectors): mark clickhouse sink as unpublishable
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 (4aaa0d313)
\
N -- N -- N refs/heads/fix/iceberg-partition-routing (3593e95ee)
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 3 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 +
.devcontainer/devcontainer.json | 3 +-
.github/actions/go/pre-merge/action.yml | 2 +
.github/actions/php/pre-merge/action.yml | 10 +-
.../actions/python-maturin/pre-merge/action.yml | 50 +-
.github/actions/rust/pre-merge/action.yml | 38 +
.github/config/components.yml | 12 +-
.github/workflows/_common.yml | 4 +-
.github/workflows/_test_examples.yml | 2 +-
.github/workflows/coverage-baseline.yml | 10 +-
.github/workflows/post-merge.yml | 2 +-
.github/workflows/pr-title.yml | 1 +
.gitignore | 1 +
AGENTS.md | 17 +-
Cargo.lock | 1001 +++--
Cargo.toml | 24 +-
README.md | 2 +-
.../features/step_definitions/background_steps.cpp | 15 +-
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 | 2 +-
bdd/rust/tests/helpers/cluster.rs | 36 +-
.../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 | 17 +-
bdd/rust/tests/steps/server.rs | 5 +-
bdd/rust/tests/steps/streams.rs | 22 +-
core/ai/mcp/Cargo.toml | 2 +-
core/bench/Cargo.toml | 2 +-
core/bench/report/src/types/group_metrics.rs | 28 +-
core/bench/report/src/types/individual_metrics.rs | 94 +-
core/bench/report/src/utils.rs | 30 +-
.../actors/consumer/typed_benchmark_consumer.rs | 12 +-
core/bench/src/analytics/metrics/group.rs | 48 +-
core/bench/src/analytics/metrics/individual.rs | 65 +-
core/bench/src/args/common.rs | 17 +-
core/bench/src/args/examples.rs | 6 +
core/bench/src/args/kinds/balanced/producer.rs | 19 +-
core/bench/src/benchmarks/benchmark.rs | 13 +-
core/binary_protocol/Cargo.toml | 2 +-
core/binary_protocol/src/consensus/header.rs | 4 +-
core/binary_protocol/src/lib.rs | 2 +-
core/binary_protocol/src/primitives/consumer.rs | 3 +-
.../create_partitions_with_assignments.rs | 44 +
.../topics/create_topic_with_assignments.rs | 46 +
core/cli/Cargo.toml | 2 +-
core/common/Cargo.toml | 2 +-
.../traits/binary_impls/personal_access_tokens.rs | 10 +-
core/common/src/traits/binary_impls/users.rs | 14 +-
core/common/src/traits/binary_transport.rs | 24 +-
.../tcp_config/tcp_client_reconnection_config.rs | 35 +-
.../configs/src/configs_impl/typed_env_provider.rs | 13 +-
core/configs/src/server_config/cluster.rs | 423 +-
core/configs/src/server_config/defaults.rs | 2 +
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/server.rs | 54 +
core/configs/src/server_config/validators.rs | 133 +
core/connectors/runtime/Cargo.toml | 2 +-
core/connectors/sinks/clickhouse_sink/Cargo.toml | 1 +
core/connectors/sinks/iceberg_sink/src/catalog.rs | 1 -
core/connectors/sinks/iceberg_sink/src/props.rs | 4 +
.../sinks/iceberg_sink/src/router/mod.rs | 26 +-
core/consensus/src/client_table.rs | 290 +-
core/consensus/src/impls.rs | 115 +-
core/consensus/src/metadata_helpers.rs | 8 +-
core/consensus/src/plane_helpers.rs | 62 +
core/harness_derive/src/attrs.rs | 12 +
core/harness_derive/src/codegen.rs | 6 +
core/integration/src/harness/disk.rs | 19 +-
.../src/harness/handle/client_builder.rs | 61 +-
.../src/harness/orchestrator/harness.rs | 145 +-
.../tests/cluster/client_table_adversarial.rs | 194 +-
.../tests/cluster/crash_recovery_corruption.rs | 269 ++
.../tests/cluster/failover_client_continuity.rs | 47 +-
.../tests/cluster/fast_primary_rejoin.rs | 472 ++
core/integration/tests/cluster/mod.rs | 3 +
.../tests/cluster/partition_primary_routing.rs | 198 +
.../tests/cluster/staggered_bootstrap.rs | 180 +
core/integration/tests/sdk/disconnect_relogin.rs | 66 +
core/integration/tests/sdk/mod.rs | 1 +
.../tests/server/cluster_metadata_advertised.rs | 80 +
core/integration/tests/server/mod.rs | 5 +-
core/journal/src/file_storage.rs | 78 +-
core/journal/src/prepare_journal.rs | 135 +-
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/replica/io.rs | 4 +-
core/message_bus/tests/graceful_shutdown.rs | 4 +-
core/message_bus/tests/tcp_client_roundtrip.rs | 4 +-
core/message_bus/tests/ws_client_roundtrip.rs | 4 +-
core/metadata/src/impls/metadata.rs | 254 +-
core/metadata/src/impls/mod.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/src/iggy_index.rs | 6 +
core/partitions/src/iggy_index_reader.rs | 3 +-
core/partitions/src/iggy_index_writer.rs | 24 +-
core/partitions/src/iggy_partition.rs | 1102 ++++-
core/partitions/src/journal.rs | 31 +
core/partitions/src/lib.rs | 30 +-
core/partitions/src/log.rs | 81 +-
core/partitions/src/messages_writer.rs | 35 +-
core/partitions/src/poll_plan.rs | 83 +-
core/partitions/src/state_transfer.rs | 8 +
core/partitions/src/types.rs | 35 +-
core/sdk/Cargo.toml | 2 +-
.../src/clients/binary_personal_access_tokens.rs | 10 +
core/sdk/src/clients/binary_users.rs | 10 +
core/sdk/src/clients/consumer.rs | 456 +-
core/sdk/src/clients/mod.rs | 33 +
core/sdk/src/clients/producer_config.rs | 3 +-
core/sdk/src/clients/producer_dispatcher.rs | 256 +-
core/sdk/src/clients/producer_sharding.rs | 282 +-
core/sdk/src/leader_aware.rs | 835 +++-
core/sdk/src/prelude.rs | 2 +-
core/sdk/src/quic/quic_client.rs | 375 +-
core/sdk/src/tcp/tcp_client.rs | 2011 ++++++++-
core/sdk/src/vsr.rs | 111 +-
core/sdk/src/websocket/websocket_client.rs | 424 +-
core/server/Cargo.toml | 2 +-
core/server/README.md | 11 +-
core/server/config.toml | 99 +-
core/server/src/args.rs | 4 +-
core/server/src/bootstrap.rs | 396 +-
core/server/src/cluster_meta.rs | 196 +-
core/server/src/dispatch.rs | 24 +-
core/server/src/http.rs | 52 +-
core/server/src/http/error.rs | 19 +-
core/server/src/http/forward.rs | 203 +-
core/server/src/http/session.rs | 5 +-
core/server/src/lib.rs | 8 +
core/server/src/main.rs | 4 +
core/server/src/partition_helpers.rs | 46 +-
core/server/src/partition_reconciler.rs | 61 +-
core/server/src/responses.rs | 8 +-
core/server/src/segment_recovery.rs | 2566 +++++++++--
core/server/src/server_error.rs | 133 +-
core/server_common/src/executor.rs | 2 +-
core/shard/Cargo.toml | 4 +-
core/shard/src/lib.rs | 354 +-
core/shard/src/router.rs | 110 +-
core/simulator/Cargo.toml | 4 +
core/simulator/src/bin/workload-fuzz.rs | 789 +++-
core/simulator/src/client.rs | 185 +-
core/simulator/src/deps.rs | 159 +-
core/simulator/src/executor/mod.rs | 12 +-
core/simulator/src/lib.rs | 4752 +++++++++++++-------
core/simulator/src/network.rs | 23 +-
core/simulator/src/packet.rs | 368 +-
core/simulator/src/ready_queue.rs | 4 +-
core/simulator/src/replica.rs | 123 +-
core/simulator/src/seeds.rs | 111 +
core/simulator/src/workload/auditor.rs | 66 +-
core/simulator/src/workload/ids.rs | 4 +-
core/simulator/src/workload/invariants.rs | 27 +-
core/simulator/src/workload/mod.rs | 864 +++-
core/simulator/src/workload/ops/change_password.rs | 4 +-
.../src/workload/ops/create_consumer_group.rs | 4 +-
.../src/workload/ops/create_partitions.rs | 4 +-
.../workload/ops/create_personal_access_token.rs | 4 +-
core/simulator/src/workload/ops/create_stream.rs | 4 +-
core/simulator/src/workload/ops/create_topic.rs | 4 +-
core/simulator/src/workload/ops/create_user.rs | 4 +-
.../src/workload/ops/delete_consumer_group.rs | 4 +-
.../src/workload/ops/delete_consumer_offset.rs | 7 +-
.../src/workload/ops/delete_partitions.rs | 4 +-
.../workload/ops/delete_personal_access_token.rs | 4 +-
core/simulator/src/workload/ops/delete_segments.rs | 4 +-
core/simulator/src/workload/ops/delete_stream.rs | 4 +-
core/simulator/src/workload/ops/delete_topic.rs | 4 +-
core/simulator/src/workload/ops/delete_user.rs | 4 +-
core/simulator/src/workload/ops/mod.rs | 24 +-
core/simulator/src/workload/ops/purge_stream.rs | 4 +-
core/simulator/src/workload/ops/purge_topic.rs | 4 +-
core/simulator/src/workload/ops/send_messages.rs | 4 +-
.../src/workload/ops/store_consumer_offset.rs | 7 +-
.../src/workload/ops/update_permissions.rs | 4 +-
core/simulator/src/workload/ops/update_stream.rs | 4 +-
core/simulator/src/workload/ops/update_topic.rs | 4 +-
core/simulator/src/workload/ops/update_user.rs | 4 +-
core/simulator/src/workload/options.rs | 135 +-
core/simulator/src/workload/oracle.rs | 505 ++-
core/simulator/src/workload/shadow.rs | 14 +-
core/simulator/src/workload/state_checker.rs | 434 ++
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 | 2 +-
examples/python/README.md | 5 +-
examples/python/uv.lock | 2 +-
examples/rust/README.md | 2 +-
foreign/cpp/Cargo.toml | 2 +-
foreign/cpp/MODULE.bazel | 2 +-
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 | 3 +-
.../StepDefinitions/LeaderRedirectionSteps.cs | 6 +-
.../Fixtures/VsrCluster.cs | 1 +
.../Iggy_SDK.Tests.Integration/HeartbeatTests.cs | 31 +-
.../Implementations/TcpMessageStream.Vsr.cs | 116 +-
.../IggyClient/Implementations/TcpMessageStream.cs | 246 +-
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs | 10 +-
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 6 +-
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 11 -
.../VsrTests/ConsensusSessionTests.cs | 19 +-
.../Iggy_SDK_Tests/VsrTests/DialCandidatesTests.cs | 79 +
.../VsrTests/EndpointFailoverTests.cs | 702 +++
.../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs | 12 +-
.../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs | 5 +-
foreign/csharp/README.md | 27 +-
foreign/go/client/tcp/tcp_connect_test.go | 15 +-
foreign/go/client/tcp/tcp_core.go | 551 ++-
foreign/go/client/tcp/tcp_core_review_test.go | 13 +-
foreign/go/client/tcp/tcp_failover_test.go | 846 ++++
.../go/client/tcp/tcp_session_credentials_test.go | 66 +
foreign/go/client/tcp/tcp_session_management.go | 182 +-
foreign/go/contracts/version.go | 2 +-
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/docker-compose.yml | 1 +
foreign/java/gradle/libs.versions.toml | 16 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 2 +-
foreign/java/gradlew | 4 +-
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 408 +-
.../iggy/client/async/tcp/AsyncTcpConnection.java | 116 +-
.../iggy/client/async/tcp/LeaderAwareness.java | 109 +-
.../iggy/client/async/tcp/LoginRoutingHook.java | 6 +
.../iggy/client/async/tcp/ReconnectPlan.java | 17 +-
.../iggy/client/async/tcp/UsersTcpClient.java | 1 +
.../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 +-
.../client/async/tcp/vsr/VsrResponseHandler.java | 11 +-
.../apache/iggy/client/BaseIntegrationTest.java | 1 +
.../AsyncIggyTcpClientEndpointFailoverTest.java | 562 +++
.../AsyncIggyTcpClientTransientFailoverTest.java | 323 +-
.../tcp/AsyncTcpConnectionConcurrencyTest.java | 4 +-
.../iggy/client/async/tcp/LeaderAwarenessTest.java | 141 +-
.../iggy/client/async/tcp/ReconnectPlanTest.java | 18 -
.../async/tcp/vsr/VsrRequestEncoderTest.java | 12 +-
.../async/tcp/vsr/VsrResponseHandlerTest.java | 82 +-
foreign/node/README.md | 59 +-
foreign/node/package-lock.json | 247 +-
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/client/client.config.test.ts | 44 +
foreign/node/src/client/client.config.ts | 33 +-
.../src/client/client.connection-string.test.ts | 310 ++
.../node/src/client/client.connection-string.ts | 226 +
foreign/node/src/client/client.connection.test.ts | 503 ++-
foreign/node/src/client/client.connection.ts | 333 +-
foreign/node/src/client/client.socket.test.ts | 624 ++-
foreign/node/src/client/client.socket.ts | 439 +-
foreign/node/src/client/client.ts | 57 +-
foreign/node/src/client/client.type.ts | 51 +-
foreign/node/src/client/index.ts | 1 +
.../theme/mod.rs => foreign/node/src/constant.ts | 3 +-
foreign/node/src/duration.utils.test.ts | 180 +
foreign/node/src/duration.utils.ts | 393 ++
foreign/node/src/e2e/tcp.connection-string.e2e.ts | 146 +
foreign/node/src/e2e/tls.system.e2e.ts | 64 +
foreign/node/src/stream/consumer-stream.ts | 6 +-
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 | 2 +-
foreign/php/Dockerfile.test | 3 +-
foreign/php/README.md | 3 +-
foreign/php/docker-compose.test.yml | 8 +-
foreign/php/scripts/test.sh | 9 +-
foreign/php/tests/IggySdkTest.php | 2 +-
foreign/php/tests/bootstrap.php | 17 +-
foreign/python/Cargo.toml | 4 +-
foreign/python/README.md | 3 +-
foreign/python/apache_iggy.pyi | 81 +-
foreign/python/docker-compose.test.yml | 1 +
foreign/python/pyproject.toml | 6 +-
foreign/python/src/bin/stub_gen.rs | 11 +-
foreign/python/src/client.rs | 8 +
foreign/python/src/config.rs | 19 +-
foreign/python/src/consumer.rs | 122 +-
foreign/python/src/topic.rs | 4 +-
foreign/python/tests/test_consumer_group.py | 118 +
foreign/python/tests/test_tls.py | 1 +
foreign/python/uv.lock | 2 +-
gateways/README.md | 9 +
{core/bench => gateways/kafka}/Cargo.toml | 57 +-
gateways/kafka/README.md | 63 +
gateways/kafka/docs/MANUAL_TESTING.md | 307 ++
gateways/kafka/docs/SCOPE.md | 138 +
gateways/kafka/docs/TEST_SUITE.md | 66 +
gateways/kafka/docs/kafka_api_keys_reference.md | 316 ++
gateways/kafka/scripts/ci-wire-fixtures.sh | 57 +
gateways/kafka/src/error.rs | 45 +
.../steps/mod.rs => gateways/kafka/src/lib.rs | 12 +-
gateways/kafka/src/main.rs | 240 +
gateways/kafka/src/protocol/api.rs | 637 +++
gateways/kafka/src/protocol/bounds_guard.rs | 906 ++++
gateways/kafka/src/protocol/header.rs | 40 +
.../helpers => gateways/kafka/src/protocol}/mod.rs | 6 +-
gateways/kafka/src/protocol/responses.rs | 318 ++
gateways/kafka/src/server.rs | 896 ++++
gateways/kafka/tests/api_handler_tests.rs | 989 ++++
gateways/kafka/tests/broker_advertise_tests.rs | 117 +
gateways/kafka/tests/common/codec.rs | 292 ++
gateways/kafka/tests/common/fixtures.rs | 91 +
.../kafka/tests/common/scope.rs | 26 +-
gateways/kafka/tests/common/server.rs | 68 +
gateways/kafka/tests/common/tcp.rs | 258 ++
gateways/kafka/tests/common/wire.rs | 447 ++
.../kafka/tests/fixtures_canary_tests.rs | 36 +-
gateways/kafka/tests/golden_wire_fixtures_tests.rs | 122 +
gateways/kafka/tests/header_tests.rs | 282 ++
gateways/kafka/tests/listener_robustness_tests.rs | 624 +++
gateways/kafka/tests/response_negative_tests.rs | 277 ++
gateways/kafka/tests/server_e2e_tests.rs | 451 ++
gateways/kafka/tests/server_integration_tests.rs | 129 +
gateways/kafka/tests/version_firewall_tests.rs | 799 ++++
.../kafka/tools/kafka-tool}/Cargo.toml | 20 +-
gateways/kafka/tools/kafka-tool/README.md | 251 ++
gateways/kafka/tools/kafka-tool/src/main.rs | 864 ++++
gateways/kafka/tools/kafka-tool/src/response.rs | 389 ++
.../tools/kafka-tool/tests/generate_cli_tests.rs | 82 +
helm/charts/iggy/README.md | 31 +-
helm/charts/iggy/README.md.gotmpl | 28 +-
helm/charts/iggy/templates/deployment.yaml | 16 +
helm/charts/iggy/values.yaml | 5 +
scripts/ci/coverage-baseline-affected.sh | 2 +-
web/README.md | 3 +-
web/docker-compose.yml | 1 +
web/package-lock.json | 182 +-
web/package.json | 8 +-
385 files changed, 39680 insertions(+), 5983 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/fast_primary_rejoin.rs
create mode 100644 core/integration/tests/cluster/partition_primary_routing.rs
create mode 100644 core/integration/tests/cluster/staggered_bootstrap.rs
create mode 100644 core/integration/tests/sdk/disconnect_relogin.rs
create mode 100644 core/integration/tests/server/cluster_metadata_advertised.rs
create mode 100644 core/simulator/src/seeds.rs
create mode 100644 core/simulator/src/workload/state_checker.rs
create mode 100644 foreign/csharp/Iggy_SDK.Tests.BDD/Context/TestEnvironment.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/DialCandidatesTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/EndpointFailoverTests.cs
create mode 100644 foreign/go/client/tcp/tcp_failover_test.go
create mode 100644 foreign/go/client/tcp/tcp_session_credentials_test.go
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientEndpointFailoverTest.java
copy core/bench/report/src/types/mod.rs => foreign/node/src/bdd/env.ts (50%)
create mode 100644 foreign/node/src/client/client.connection-string.test.ts
create mode 100644 foreign/node/src/client/client.connection-string.ts
copy core/bench/dashboard/frontend/src/components/theme/mod.rs =>
foreign/node/src/constant.ts (89%)
create mode 100644 foreign/node/src/duration.utils.test.ts
create mode 100644 foreign/node/src/duration.utils.ts
create mode 100644 foreign/node/src/e2e/tcp.connection-string.e2e.ts
create mode 100644 gateways/README.md
copy {core/bench => gateways/kafka}/Cargo.toml (54%)
create mode 100644 gateways/kafka/README.md
create mode 100644 gateways/kafka/docs/MANUAL_TESTING.md
create mode 100644 gateways/kafka/docs/SCOPE.md
create mode 100644 gateways/kafka/docs/TEST_SUITE.md
create mode 100644 gateways/kafka/docs/kafka_api_keys_reference.md
create mode 100755 gateways/kafka/scripts/ci-wire-fixtures.sh
create mode 100644 gateways/kafka/src/error.rs
copy bdd/rust/tests/steps/mod.rs => gateways/kafka/src/lib.rs (85%)
create mode 100644 gateways/kafka/src/main.rs
create mode 100644 gateways/kafka/src/protocol/api.rs
create mode 100644 gateways/kafka/src/protocol/bounds_guard.rs
create mode 100644 gateways/kafka/src/protocol/header.rs
copy {bdd/rust/tests/helpers => gateways/kafka/src/protocol}/mod.rs (91%)
create mode 100644 gateways/kafka/src/protocol/responses.rs
create mode 100644 gateways/kafka/src/server.rs
create mode 100644 gateways/kafka/tests/api_handler_tests.rs
create mode 100644 gateways/kafka/tests/broker_advertise_tests.rs
create mode 100644 gateways/kafka/tests/common/codec.rs
create mode 100644 gateways/kafka/tests/common/fixtures.rs
copy bdd/rust/tests/stream_crud.rs => gateways/kafka/tests/common/scope.rs
(60%)
create mode 100644 gateways/kafka/tests/common/server.rs
create mode 100644 gateways/kafka/tests/common/tcp.rs
create mode 100644 gateways/kafka/tests/common/wire.rs
copy foreign/csharp/Iggy_SDK_Tests/Utils/DummyObj/DummyObjFactory.cs =>
gateways/kafka/tests/fixtures_canary_tests.rs (51%)
create mode 100644 gateways/kafka/tests/golden_wire_fixtures_tests.rs
create mode 100644 gateways/kafka/tests/header_tests.rs
create mode 100644 gateways/kafka/tests/listener_robustness_tests.rs
create mode 100644 gateways/kafka/tests/response_negative_tests.rs
create mode 100644 gateways/kafka/tests/server_e2e_tests.rs
create mode 100644 gateways/kafka/tests/server_integration_tests.rs
create mode 100644 gateways/kafka/tests/version_firewall_tests.rs
copy {core/bench/runner => gateways/kafka/tools/kafka-tool}/Cargo.toml (73%)
create mode 100644 gateways/kafka/tools/kafka-tool/README.md
create mode 100644 gateways/kafka/tools/kafka-tool/src/main.rs
create mode 100644 gateways/kafka/tools/kafka-tool/src/response.rs
create mode 100644 gateways/kafka/tools/kafka-tool/tests/generate_cli_tests.rs