You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by gk...@apache.org on 2026/10/19 11:02:34 UTC
(iggy) branch test_kafka_gateway_sasls_produce_consume updated (928fd8d82 -> c731230fc)
This is an automated email from the ASF dual-hosted git repository.
numinnex pushed a change to branch test_kafka_gateway_sasls_produce_consume
in repository https://gitbox.apache.org/repos/asf/iggy.git
from 928fd8d82 test(gateways): cover Kafka produce and consume over SASL through the bridge
add b815165c3 fix(ci): use an approved setup-uv revision (#4540)
add b90afc2ac chore(deps): Bump the csharp group with 4 updates (#4536)
add c5152a500 feat(server)!: route partition requests to their primaries (#4506)
add e9e5e10a3 chore(deps): upgrade Rust dependencies (#4542)
add f0d10d46b feat(swift): add the TCP and TLS client (#4503)
add b1166a590 fix(sdk): stop a reconnect sweep when the client shuts down (#4507)
add e06fb351d fix(csharp): report refusal when routed budget expires before resend (#4547)
add c70c286cd chore(deps): Bump the github-actions group with 2 updates (#4549)
add 12f05b848 chore(deps): Bump the python group across 3 directories with 1 update (#4551)
add ec985b7e0 perf(ci): avoid redundant Rust coverage builds (#4546)
add 5992f416a chore(deps): Bump the java group across 3 directories with 10 updates (#4548)
add 12cc1f3cf feat(java): parse iggy:// connection strings in TcpClientBuilder (#4504)
add fe3b4269e fix(java): decouple wrapper JAR fetch from the Gradle version (#4564)
add 2a5c25e89 feat(swift): send and poll messages, consumer groups, and offsets (#4553)
add 4c53f2a3b fix(ci,php): survive the zip crate mass yank (#4574)
add 8200eca06 chore(deps): Bump the web group across 1 directory with 7 updates (#4567)
add b76fa267b chore(deps): Bump the node group across 2 directories with 4 updates (#4568)
add e86560106 chore(deps): Bump rules_cc from 0.2.25 to 0.2.26 in /foreign/cpp in the cpp group across 1 directory (#4566)
add c95797383 perf(ci): share covered runtimes across test jobs (#4560)
add e9096ed00 feat(gateways): add TLS listeners and mTLS client identities to Kafka gateway (#4535)
add 29365392f fix(server)!: derive session timeout from heartbeat.interval (#4562)
add 83b3664a1 fix(server)!: bind grants and HTTP tokens to the objects they name (#4550)
add d1fe677db chore(csharp): remove FluentAssertions from tests (#4578)
add c731230fc merge master
No new revisions were added by this update.
Summary of changes:
.config/nextest.toml | 3 +-
.github/actions/bdd/pre-merge/action.yml | 108 +
.github/actions/cpp-bazel/pre-merge/action.yml | 14 +-
.github/actions/csharp-dotnet/pre-merge/action.yml | 9 +-
.github/actions/go/pre-merge/action.yml | 14 +-
.github/actions/java-gradle/post-merge/action.yml | 4 +-
.github/actions/java-gradle/pre-merge/action.yml | 12 +-
.github/actions/node-npm/pre-merge/action.yml | 11 +-
.github/actions/php/pre-merge/action.yml | 14 +-
.../actions/python-maturin/pre-merge/action.yml | 55 +-
.github/actions/rust/post-merge/action.yml | 4 +-
.github/actions/rust/pre-merge/action.yml | 306 +-
.github/actions/swift/pre-merge/action.yml | 148 +-
.github/actions/utils/download-runtime/action.yml | 59 +
.github/actions/utils/server-start/action.yml | 54 +-
.../{setup-cpp-with-cache => setup-cpp}/action.yml | 9 +-
.../{setup-go-with-cache => setup-go}/action.yml | 4 +-
.../action.yml | 2 +-
.../action.yml | 29 +-
.../action.yml | 86 +-
.../utils/validate-third-party-licenses/action.yml | 5 +-
.github/config/components.yml | 12 +-
.github/workflows/_build_ci_artifacts.yml | 69 +
.github/workflows/_build_python_wheels.yml | 12 +-
.github/workflows/_build_rust_artifacts.yml | 9 +-
.github/workflows/_common.yml | 5 +-
.github/workflows/_detect.yml | 40 +-
.github/workflows/_publish_rust_crates.yml | 4 +-
.github/workflows/_rust.yml | 99 +
.github/workflows/_rust_tests.yml | 90 +
.github/workflows/_test.yml | 190 +-
.github/workflows/_test_bdd.yml | 90 +-
.github/workflows/_test_examples.yml | 148 +-
.github/workflows/coverage-baseline.yml | 306 +-
.github/workflows/pr-skill-review-run.yml | 2 +
.github/workflows/pre-merge.yml | 334 +-
.github/workflows/publish.yml | 2 +-
AGENTS.md | 2 +-
Cargo.lock | 2487 ++--
Cargo.toml | 100 +-
bdd/docker-compose.cluster.yml | 4 +-
bdd/docker-compose.coverage.yml | 21 +-
bdd/docker-compose.server.yml | 2 +
bdd/docker-compose.yml | 2 +
bdd/go/tests/tcp_test/messages_feature_send.go | 4 +-
bdd/go/tests/tcp_test/offset_feature_delete.go | 2 +-
bdd/java/build.gradle.kts | 4 +-
bdd/java/gradle/wrapper/gradle-wrapper.properties | 2 +-
bdd/java/gradlew | 87 +-
bdd/php/Dockerfile | 2 +-
bdd/python/uv.lock | 38 +-
bdd/rust/Dockerfile | 40 +-
bdd/rust/tests/steps/leader_redirection.rs | 3 +-
codecov.yml | 3 +
core/ai/mcp/src/service/mod.rs | 6 +-
core/bench/dashboard/server/src/github/client.rs | 2 +-
core/bench/src/analytics/report_builder.rs | 13 +-
core/binary_protocol/src/codes.rs | 6 +-
core/binary_protocol/src/consensus/command.rs | 11 +-
core/binary_protocol/src/consensus/header.rs | 451 +-
core/binary_protocol/src/consensus/mod.rs | 7 +-
core/binary_protocol/src/consensus/request.rs | 19 +-
core/binary_protocol/src/dispatch.rs | 4 +-
core/binary_protocol/src/lib.rs | 20 +-
core/binary_protocol/src/primitives/identifier.rs | 3 +
.../src/primitives/partition_history.rs | 7 +-
...{get_send_context.rs => get_partition_route.rs} | 22 +-
core/binary_protocol/src/requests/messages/mod.rs | 4 +-
.../partitions/retire_consumer_group_owners.rs | 8 +-
.../src/requests/users/login_register.rs | 58 +-
core/binary_protocol/src/responses/messages/mod.rs | 2 +
.../src/responses/messages/partition_route.rs | 157 +
.../src/responses/messages/poll_routing.rs | 1 +
.../src/responses/system/get_cluster_metadata.rs | 45 +-
.../binary_cluster/get_cluster_metadata.rs | 7 +-
core/common/src/error/iggy_error.rs | 81 +-
core/common/src/lib.rs | 4 +-
core/common/src/traits/binary_impls/messages.rs | 19 +-
core/common/src/traits/binary_impls/mod.rs | 58 +-
.../traits/binary_impls/personal_access_tokens.rs | 39 +-
core/common/src/traits/binary_impls/users.rs | 39 +-
core/common/src/traits/binary_transport.rs | 71 +-
core/common/src/traits/client.rs | 28 +
core/common/src/traits/mod.rs | 2 +-
core/common/src/traits/user_client.rs | 10 +
core/common/src/types/cluster/node.rs | 8 +-
.../src/types/permissions/permissions_global.rs | 6 +-
core/common/src/wire_conversions.rs | 20 +
core/configs/src/common/defaults.rs | 5 -
core/configs/src/common/displays.rs | 4 +-
core/configs/src/common/http.rs | 3 +-
core/configs/src/common/server.rs | 22 +-
core/configs/src/configs_impl/file_provider.rs | 17 +
core/configs/src/server_config/cluster.rs | 11 +-
core/configs/src/server_config/server.rs | 8 +
core/configs/src/server_config/validators.rs | 87 +-
core/connectors/sinks/rabbitmq_sink/src/lib.rs | 42 +-
core/consensus/src/client_table.rs | 23 +-
core/consensus/src/impls.rs | 232 +-
core/consensus/src/lib.rs | 7 +
core/consensus/src/metadata_helpers.rs | 118 +-
core/consensus/src/plane_helpers.rs | 285 +-
core/integration/src/harness/config/jwks.rs | 4 +
core/integration/src/harness/config/mod.rs | 2 +-
core/integration/src/harness/handle/mcp.rs | 4 +-
.../src/harness/orchestrator/harness.rs | 7 +-
.../cli/system/test_cluster_metadata_command.rs | 4 +-
core/integration/tests/cli/user/common.rs | 38 +-
.../tests/cli/user/test_user_create_command.rs | 6 +-
.../tests/cli/user/test_user_get_command.rs | 2 +
.../cli/user/test_user_permissions_command.rs | 3 +-
core/integration/tests/cluster/chaos_monkey.rs | 14 +-
.../tests/cluster/client_table_adversarial.rs | 1 +
.../tests/cluster/client_table_restart.rs | 12 +-
core/integration/tests/cluster/partition_dedup.rs | 1 +
.../tests/cluster/partition_primary_routing.rs | 570 +-
.../tests/cluster/partition_state_transfer.rs | 100 +-
.../connectors/fixtures/rabbitmq/container.rs | 14 +-
.../fixtures/redshift/redshift_mock/handler.rs | 4 +-
.../fixtures/redshift/redshift_mock/parser.rs | 8 +-
core/integration/tests/connectors/s3/s3_sink.rs | 1 +
.../verify_consumer_group_partition_assignment.rs | 150 +-
core/integration/tests/mcp/mod.rs | 5 +-
core/integration/tests/sdk/consumer_group.rs | 4 +-
.../tests/sdk/consumer_group_membership.rs | 22 +-
core/integration/tests/server/a2a_jwt/config.toml | 2 +-
core/integration/tests/server/a2a_jwt/jwt_tests.rs | 137 +-
core/integration/tests/server/cg.rs | 11 +-
core/integration/tests/server/http_client.rs | 28 +
core/integration/tests/server/http_rbac.rs | 184 +
.../tests/server/http_read_your_writes.rs | 19 +-
core/integration/tests/server/http_vsr.rs | 99 +-
core/integration/tests/server/mod.rs | 3 +
.../tests/server/pipelined_frames_vsr.rs | 303 +
core/integration/tests/server/raw_tcp.rs | 7 +
.../server/scenarios/authentication_scenario.rs | 6 +-
.../tests/server/scenarios/permissions_scenario.rs | 167 +-
.../stale_client_consumer_group_scenario.rs | 99 +-
core/journal/src/lib.rs | 13 +-
core/journal/src/prepare_journal.rs | 75 +-
core/message_bus/src/config.rs | 21 +-
core/message_bus/src/lib.rs | 27 +
core/message_bus/src/transports/mod.rs | 8 +-
core/message_bus/src/transports/quic.rs | 860 +-
core/metadata/src/impls/metadata.rs | 577 +-
core/metadata/src/impls/recovery.rs | 377 +-
core/metadata/src/stm/authz.rs | 472 +-
core/metadata/src/stm/consumer_group.rs | 346 +-
core/metadata/src/stm/lifecycle.rs | 389 +-
core/metadata/src/stm/mod.rs | 80 +-
core/metadata/src/stm/result.rs | 185 +-
core/metadata/src/stm/snapshot.rs | 28 +-
core/metadata/src/stm/stream.rs | 158 +-
core/metadata/src/stm/user.rs | 439 +-
core/partitions/src/consumer_offset_capacity.rs | 14 +
core/partitions/src/iggy_partition.rs | 11654 ++++++++++++-------
core/partitions/src/io.rs | 135 +-
core/partitions/src/journal.rs | 63 +-
core/partitions/src/lib.rs | 5 +-
core/partitions/src/log.rs | 7 +-
core/partitions/src/offset_recovery.rs | 62 +-
core/partitions/src/offset_storage.rs | 31 +
core/partitions/src/partition_storage.rs | 104 +-
core/partitions/src/segment_recovery.rs | 3 +-
core/partitions/src/state_transfer.rs | 162 +-
core/partitions/src/types.rs | 10 +-
core/sdk/src/client_wrappers/binary_client.rs | 21 +
core/sdk/src/clients/client.rs | 110 +-
core/sdk/src/clients/consumer.rs | 1 +
core/sdk/src/clients/producer.rs | 10 +-
core/sdk/src/driver.rs | 1325 +++
.../src/{poll_routing.rs => driver/poll_router.rs} | 185 +-
core/sdk/src/driver/route_cache.rs | 381 +
core/sdk/src/leader_aware.rs | 611 +-
core/sdk/src/lib.rs | 4 +-
core/sdk/src/{leader_aware.rs => links/connect.rs} | 524 +-
core/sdk/src/links/dial.rs | 324 +
core/sdk/src/links/fake_cluster.rs | 442 +
core/sdk/src/links/mod.rs | 448 +
core/sdk/src/links/mux.rs | 815 ++
core/sdk/src/links/quic.rs | 335 +
core/sdk/src/links/replicas.rs | 1571 +++
core/sdk/src/quic/quic_client.rs | 791 +-
core/sdk/src/session.rs | 16 +-
core/sdk/src/session_owner.rs | 601 +
core/sdk/src/session_owner/lanes.rs | 606 +
core/sdk/src/tcp/mod.rs | 4 -
core/sdk/src/tcp/tcp_client.rs | 1527 +--
core/sdk/src/tcp/tcp_connection_stream.rs | 108 -
core/sdk/src/tcp/tcp_connection_stream_kind.rs | 66 -
core/sdk/src/tcp/tcp_stream.rs | 27 -
core/sdk/src/tcp/tcp_tls_connection_stream.rs | 105 -
core/sdk/src/vsr.rs | 396 +-
core/sdk/src/websocket/mod.rs | 4 -
core/sdk/src/websocket/websocket_client.rs | 912 +-
.../src/websocket/websocket_connection_stream.rs | 212 -
core/sdk/src/websocket/websocket_stream.rs | 36 -
core/sdk/src/websocket/websocket_stream_kind.rs | 58 -
.../websocket/websocket_tls_connection_stream.rs | 217 -
core/server/README.md | 33 +-
core/server/config.toml | 91 +-
core/server/src/boot/mod.rs | 72 +-
core/server/src/boot/topology.rs | 12 +-
core/server/src/cluster_meta.rs | 39 +
core/server/src/consumer_group.rs | 9 +-
core/server/src/consumer_group/liveness.rs | 20 +-
core/server/src/dispatch/authz.rs | 27 +-
core/server/src/dispatch/failure.rs | 73 +-
core/server/src/dispatch/host.rs | 50 +-
core/server/src/dispatch/mod.rs | 2140 +++-
core/server/src/dispatch/partition.rs | 945 +-
core/server/src/dispatch/reads.rs | 267 +-
core/server/src/dispatch/session_ops.rs | 173 +-
core/server/src/dispatch/submit.rs | 1394 ++-
core/server/src/dispatch/test_support.rs | 121 +-
core/server/src/http.rs | 38 +-
core/server/src/http/error.rs | 17 +-
core/server/src/http/extractor.rs | 98 +-
core/server/src/http/forward.rs | 967 +-
core/server/src/http/handlers.rs | 370 +-
core/server/src/http/jwt.rs | 274 +-
core/server/src/http/reads.rs | 560 +-
core/server/src/http/reply.rs | 8 +
core/server/src/http/session.rs | 3 +-
core/server/src/http/state.rs | 143 +-
core/server/src/http/submit.rs | 98 +-
core/server/src/lib.rs | 8 +-
core/server/src/namespace.rs | 34 +-
core/server/src/partition_helpers.rs | 5 +-
core/server/src/partition_reconciler.rs | 702 +-
core/server/src/reply_frame.rs | 12 +-
core/server/src/rewrite.rs | 42 +-
core/server/src/session_manager.rs | 28 +-
core/server_common/src/consensus_message.rs | 16 +-
core/shard/src/coordinator.rs | 5 +
core/shard/src/lib.rs | 1239 +-
core/shard/src/partition_io.rs | 2694 ++++-
core/shard/src/poll.rs | 168 +-
core/shard/src/poll/completion.rs | 6 +-
core/shard/src/poll/completion_tests.rs | 321 +-
core/simulator/src/bin/workload-fuzz.rs | 64 +-
core/simulator/src/client.rs | 46 +-
core/simulator/src/deps.rs | 21 +-
core/simulator/src/lib.rs | 2479 +++-
core/simulator/src/packet.rs | 3 +-
core/simulator/src/replica.rs | 6 +-
core/simulator/src/workload/actions.rs | 4 +
core/simulator/src/workload/auditor.rs | 18 +-
core/simulator/src/workload/invariants.rs | 30 +-
core/simulator/src/workload/mod.rs | 2481 +++-
core/simulator/src/workload/ops/create_user.rs | 15 +-
.../src/workload/ops/join_fixture_group.rs | 96 +
...pdate_permissions.rs => leave_fixture_group.rs} | 50 +-
core/simulator/src/workload/ops/mod.rs | 12 +-
.../src/workload/ops/replace_fixture_topic.rs | 112 +
..._permissions.rs => store_stale_owner_offset.rs} | 66 +-
.../src/workload/ops/update_permissions.rs | 5 +-
core/simulator/src/workload/options.rs | 53 +-
core/simulator/src/workload/oracle.rs | 384 +-
core/simulator/src/workload/shadow.rs | 550 +-
core/simulator/src/workload/state_checker.rs | 568 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 2 +-
examples/java/gradlew | 87 +-
examples/node/package-lock.json | 14 +-
examples/node/package.json | 2 +-
examples/python/pyproject.toml | 2 +-
examples/python/uv.lock | 40 +-
foreign/cpp/Cargo.toml | 6 +-
foreign/cpp/MODULE.bazel | 2 +-
foreign/cpp/MODULE.bazel.lock | 6 +-
foreign/cpp/src/lib.rs | 1 +
foreign/cpp/src/type_conversion.rs | 1 +
foreign/cpp/tests/e2e/client.cpp | 106 +-
foreign/csharp/Directory.Packages.props | 9 +-
.../Fixtures/IggyServerFixture.cs | 21 +-
.../Fixtures/VsrCluster.cs | 9 +
.../Iggy_SDK.Tests.Integration/HeartbeatTests.cs | 6 +-
.../Helpers/ConsumerGroupAssignment.cs | 4 +-
.../Iggy_SDK.Tests.Integration/UsersTests.cs | 95 +-
.../Vsr/VsrMetadataTests.cs | 3 +-
foreign/csharp/Iggy_SDK/Contracts/ClusterNode.cs | 3 +
.../SdkVersion.cs => Contracts/PartitionRoute.cs} | 13 +-
.../Exceptions/IggyInvalidStatusCodeException.cs | 7 +
.../TcpMessageStream.PollRouting.cs | 449 +-
.../Implementations/TcpMessageStream.Vsr.cs | 73 +-
.../IggyClient/Implementations/TcpMessageStream.cs | 101 +-
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs | 21 +-
foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs | 2 +-
foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs | 3 +-
foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs | 61 +-
foreign/csharp/Iggy_SDK/Vsr/VsrError.cs | 13 +-
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 4 +-
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 2 +-
foreign/csharp/Iggy_SDK/Vsr/VsrReplyDecoder.cs | 3 +-
.../ConsumerTests/OffsetContinuationTests.cs | 9 +-
.../csharp/Iggy_SDK_Tests/Iggy_SDK_Tests.csproj | 1 -
.../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs | 59 +-
.../PublisherTests/IggyTypedPublisherTests.cs | 68 +-
.../VsrTests/ConsensusSessionTests.cs | 12 +
.../VsrTests/EndpointFailoverTests.cs | 249 +-
.../Iggy_SDK_Tests/VsrTests/GroupPollingTests.cs | 1 +
foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs | 41 +-
.../VsrTests/PartitionContextTests.cs | 54 +-
.../Iggy_SDK_Tests/VsrTests/PrimaryPollingTests.cs | 487 +-
.../VsrTests/VsrReplyDecoderTests.cs | 10 +-
.../Iggy_SDK_Tests/VsrTests/VsrTestPayloads.cs | 5 +
foreign/go/README.md | 2 +-
foreign/go/client/tcp/cluster.go | 12 +
foreign/go/client/tcp/tcp_core.go | 73 +-
foreign/go/client/tcp/tcp_core_review_test.go | 2 +-
foreign/go/client/tcp/tcp_core_test.go | 35 +-
foreign/go/client/tcp/tcp_failover_test.go | 4 +-
foreign/go/client/tcp/tcp_messaging.go | 174 +-
foreign/go/client/tcp/tcp_offset_management.go | 27 +-
foreign/go/client/tcp/tcp_partition_management.go | 3 +
foreign/go/client/tcp/tcp_poll_routing.go | 248 +-
foreign/go/client/tcp/tcp_poll_routing_test.go | 498 +-
foreign/go/client/tcp/tcp_stream_management.go | 1 +
foreign/go/client/tcp/tcp_testing_test.go | 19 +-
foreign/go/client/tcp/tcp_topic_cache.go | 44 +-
foreign/go/client/tcp/tcp_topic_cache_test.go | 71 +-
foreign/go/contracts/cluster_metadata_test.go | 56 +-
foreign/go/contracts/cluster_node.go | 10 +-
foreign/go/contracts/partitions.go | 26 +
foreign/go/errors/errors.yaml | 4 +
foreign/go/errors/errors_gen.go | 15 +
foreign/go/internal/command/code.go | 2 +-
foreign/go/internal/vsr/envelope.go | 5 +
foreign/go/internal/vsr/envelope_test.go | 4 +-
foreign/go/internal/vsr/session.go | 52 +-
foreign/go/internal/vsr/session_test.go | 46 +-
foreign/go/tests/e2e_test.go | 29 +-
foreign/java/README.md | 23 +
foreign/java/gradle/libs.versions.toml | 6 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 2 +-
foreign/java/gradlew | 87 +-
.../org/apache/iggy/builder/TcpClientBuilder.java | 20 +
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 69 +-
.../async/tcp/AsyncIggyTcpClientBuilder.java | 32 +
.../iggy/client/async/tcp/AsyncTcpConnection.java | 137 +-
.../iggy/client/async/tcp/ClientRoutingState.java | 36 +-
.../client/async/tcp/ConsumerOffsetsTcpClient.java | 49 +-
.../iggy/client/async/tcp/MessagesTcpClient.java | 146 +-
.../iggy/client/async/tcp/PartitionContexts.java | 191 -
.../apache/iggy/client/async/tcp/PollRouter.java | 429 +-
.../client/async/tcp/RawPartitionRequests.java | 12 +-
.../client/async/tcp/vsr/ConsensusSession.java | 24 +-
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 2 +-
.../client/async/tcp/vsr/VsrRequestEncoder.java | 13 +-
.../client/blocking/tcp/IggyTcpClientBuilder.java | 22 +
.../java/org/apache/iggy/cluster/ClusterNode.java | 14 +-
.../apache/iggy/config/TcpConnectionString.java | 263 +
.../org/apache/iggy/exception/IggyErrorCode.java | 1 +
.../org/apache/iggy/partition/PartitionRoute.java | 47 +
.../org/apache/iggy/serde/BytesDeserializer.java | 5 +-
.../java/org/apache/iggy/serde/CommandCode.java | 2 +-
.../src/test/java/org/apache/iggy/IggyTest.java | 4 +
...ncIggyTcpClientBuilderConnectionStringTest.java | 65 +
.../async/tcp/AsyncIggyTcpClientBuilderTest.java | 12 +
.../AsyncIggyTcpClientEndpointFailoverTest.java | 1 +
.../AsyncIggyTcpClientPartitionContextTest.java | 141 +-
.../tcp/AsyncIggyTcpClientRawRequestTest.java | 192 +-
.../AsyncIggyTcpClientSendContextCacheTest.java | 99 +-
.../AsyncIggyTcpClientTransientFailoverTest.java | 128 +-
.../tcp/AsyncTcpConnectionLifecycleBusyTest.java | 52 +-
.../client/async/tcp/ClientRoutingStateTest.java | 40 -
.../iggy/client/async/tcp/LeaderAwarenessTest.java | 2 +-
.../iggy/client/async/tcp/PollRouterTest.java | 102 +-
.../async/tcp/vsr/VsrRequestEncoderTest.java | 45 +-
.../client/blocking/http/ObjectMapperTest.java | 19 +
.../blocking/tcp/IggyTcpClientBuilderTest.java | 13 +
.../iggy/config/TcpConnectionStringTest.java | 210 +
.../apache/iggy/partition/PartitionRouteTest.java | 65 +
.../apache/iggy/serde/BytesDeserializerTest.java | 3 +
foreign/node/README.md | 14 +-
foreign/node/package-lock.json | 281 +-
foreign/node/package.json | 4 +-
foreign/node/src/client/client.socket.test.ts | 521 +-
foreign/node/src/client/client.socket.ts | 461 +-
foreign/node/src/e2e/tcp.cluster.e2e.ts | 1 +
foreign/node/src/e2e/tcp.user.e2e.ts | 51 +-
foreign/node/src/wire/cluster/cluster.utils.ts | 6 +-
foreign/node/src/wire/command.code.ts | 2 +-
foreign/node/src/wire/error.code.ts | 1 +
.../src/wire/message/send-messages.command.test.ts | 52 +-
.../node/src/wire/message/send-messages.command.ts | 56 +-
foreign/node/src/wire/offset/get-offset.command.ts | 2 +-
foreign/node/src/wire/offset/offset.utils.ts | 12 +-
.../src/wire/partition/partition-route.test.ts | 46 +
foreign/node/src/wire/partition/partition-route.ts | 51 +
foreign/node/src/wire/vsr/index.ts | 2 +-
foreign/node/src/wire/vsr/session.test.ts | 9 +
foreign/node/src/wire/vsr/session.ts | 10 +-
foreign/node/src/wire/vsr/vsr.test.ts | 4 +-
foreign/php/Cargo.toml | 2 +-
foreign/php/Dockerfile.test | 2 +-
foreign/php/iggy-php.stubs.php | 8 +-
foreign/php/src/error.rs | 12 +-
foreign/php/src/receive_message.rs | 6 +-
foreign/php/src/send_message.rs | 8 +-
foreign/php/src/stream.rs | 4 +-
foreign/php/src/topic.rs | 4 +-
foreign/python/Cargo.toml | 6 +-
foreign/python/uv.lock | 38 +-
foreign/swift/Package.resolved | 60 +
foreign/swift/Package.swift | 28 +-
foreign/swift/README.md | 140 +-
.../Sources/Iggy/Client/ClientConfiguration.swift | 142 +
foreign/swift/Sources/Iggy/Client/ClientCore.swift | 1326 +++
.../Sources/Iggy/Client/ConsumerGroupState.swift | 223 +
.../Sources/Iggy/Client/IggyClient+Messages.swift | 410 +
.../Sources/Iggy/Client/IggyClient+Resources.swift | 254 +
foreign/swift/Sources/Iggy/Client/IggyClient.swift | 260 +
foreign/swift/Sources/Iggy/Client/PollRouter.swift | 394 +
foreign/swift/Sources/Iggy/Errors/IggyError.swift | 28 +
.../swift/Sources/Iggy/Errors/IggyErrorCode.swift | 8 +
foreign/swift/Sources/Iggy/Models/Identifier.swift | 16 +
.../swift/Sources/Iggy/Models/IggyMessage.swift | 6 +
foreign/swift/Sources/Iggy/Models/Messaging.swift | 58 +-
foreign/swift/Sources/Iggy/Models/Resources.swift | 4 +-
.../swift/Sources/Iggy/Models/TopicOptions.swift | 3 +
.../swift/Sources/Iggy/Protocol/CommandCode.swift | 17 +-
foreign/swift/Sources/Iggy/Protocol/Requests.swift | 14 +-
.../swift/Sources/Iggy/Protocol/Responses.swift | 74 +-
foreign/swift/Sources/Iggy/Protocol/VSRFrame.swift | 15 +-
.../swift/Sources/Iggy/Transport/Endpoint.swift | 155 +
.../Sources/Iggy/Transport/TCPConnection.swift | 298 +
.../swift/Sources/Iggy/Transport/TLSOptions.swift | 67 +
.../swift/Sources/Iggy/Utilities/AsyncMutex.swift | 201 +
.../swift/Tests/IggyE2ETests/ClientE2ETests.swift | 693 ++
.../IggyE2ETests/Support/E2EEnvironment.swift | 233 +
.../Tests/IggyTests/ClientTransportTests.swift | 1303 +++
.../swift/Tests/IggyTests/ConcurrencyTests.swift | 217 +
.../swift/Tests/IggyTests/ConfigurationTests.swift | 120 +
.../Tests/IggyTests/ConsumerGroupStateTests.swift | 122 +
foreign/swift/Tests/IggyTests/Fixtures/golden.json | 13 +-
foreign/swift/Tests/IggyTests/MessagingTests.swift | 756 ++
foreign/swift/Tests/IggyTests/ModelTests.swift | 27 +
foreign/swift/Tests/IggyTests/ProtocolTests.swift | 6 +-
.../Tests/IggyTests/ResponseVectorTests.swift | 16 +
.../Tests/IggyTests/Support/FakeVSRServer.swift | 432 +
.../Tests/IggyTests/Support/TestHelpers.swift | 85 +
.../swift/Tests/IggyTests/WireVectorTests.swift | 2 +
foreign/swift/Tools/golden-vectors/src/main.rs | 55 +-
gateways/kafka/Cargo.toml | 8 +
gateways/kafka/Dockerfile | 2 +-
gateways/kafka/README.md | 121 +-
gateways/kafka/docker-compose.yml | 2 +-
gateways/kafka/docs/AUTHENTICATION.md | 122 +-
gateways/kafka/docs/MANUAL_TESTING.md | 130 +
gateways/kafka/docs/SCOPE.md | 17 +-
gateways/kafka/docs/TEST_SUITE.md | 12 +-
gateways/kafka/src/auth.rs | 133 +-
gateways/kafka/src/bridge/config.rs | 89 +
gateways/kafka/src/bridge/iggy_bridge/fetch.rs | 40 +
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 76 +-
gateways/kafka/src/bridge/mod.rs | 2 +-
gateways/kafka/src/lib.rs | 2 +
gateways/kafka/src/listener.rs | 463 +
gateways/kafka/src/main.rs | 584 +-
gateways/kafka/src/protocol/api.rs | 95 +-
.../kafka/src/protocol/handlers/alter_configs.rs | 13 +-
.../kafka/src/protocol/handlers/api_versions.rs | 65 +-
.../kafka/src/protocol/handlers/delete_topics.rs | 11 +-
.../src/protocol/handlers/find_coordinator.rs | 15 +-
gateways/kafka/src/protocol/handlers/metadata.rs | 19 +-
gateways/kafka/src/protocol/handlers/mod.rs | 8 +-
.../kafka/src/protocol/handlers/offset_commit.rs | 6 +-
.../kafka/src/protocol/handlers/offset_fetch.rs | 5 +-
gateways/kafka/src/protocol/handlers/produce.rs | 13 +-
gateways/kafka/src/server.rs | 995 +-
gateways/kafka/src/tls/identity.rs | 1211 ++
gateways/kafka/src/tls/mod.rs | 586 +
.../kafka/tests/bridge_iggy_integration_tests.rs | 38 +-
gateways/kafka/tests/broker_advertise_tests.rs | 55 +-
gateways/kafka/tests/common/certs.rs | 186 +
gateways/kafka/tests/common/iggy_server.rs | 32 +-
gateways/kafka/tests/common/server.rs | 66 +-
gateways/kafka/tests/common/tcp.rs | 15 +-
gateways/kafka/tests/configs_handler_tests.rs | 2 -
gateways/kafka/tests/configs_java_client_tests.rs | 15 +-
gateways/kafka/tests/configs_real_bridge_tests.rs | 6 +-
gateways/kafka/tests/consumer_group_tests.rs | 2 -
.../kafka/tests/create_topics_real_bridge_tests.rs | 8 +-
.../kafka/tests/delete_topics_real_bridge_tests.rs | 138 +-
gateways/kafka/tests/fetch_real_bridge_tests.rs | 6 +-
gateways/kafka/tests/idempotence_tests.rs | 5 -
gateways/kafka/tests/kafka_client_e2e_tests.rs | 402 +-
.../kafka/tests/list_offsets_real_bridge_tests.rs | 4 +-
gateways/kafka/tests/metadata_real_bridge_tests.rs | 20 +-
gateways/kafka/tests/offsets_real_bridge_tests.rs | 6 +-
gateways/kafka/tests/produce_real_bridge_tests.rs | 9 +-
gateways/kafka/tests/sasl_tests.rs | 17 +-
gateways/kafka/tests/tls_listener_tests.rs | 971 ++
scripts/ci/coverage-baseline-affected.sh | 2 +-
.../build_release.sh => ci/restore-runtime.sh} | 19 +-
scripts/ci/storage-compat.sh | 52 +-
scripts/ci/test-runtime-artifacts.py | 256 +
scripts/ci/third-party-licenses.sh | 3 +
scripts/run-bdd-tests.sh | 3 +-
scripts/run-examples-from-readme.sh | 25 +-
web/package-lock.json | 326 +-
web/package.json | 14 +-
503 files changed, 65136 insertions(+), 17614 deletions(-)
create mode 100644 .github/actions/bdd/pre-merge/action.yml
create mode 100644 .github/actions/utils/download-runtime/action.yml
rename .github/actions/utils/{setup-cpp-with-cache => setup-cpp}/action.yml (82%)
rename .github/actions/utils/{setup-go-with-cache => setup-go}/action.yml (98%)
rename .github/actions/utils/{setup-java-with-cache => setup-java}/action.yml (98%)
rename .github/actions/utils/{setup-node-with-cache => setup-node}/action.yml (68%)
rename .github/actions/utils/{setup-rust-with-cache => setup-rust}/action.yml (74%)
create mode 100644 .github/workflows/_build_ci_artifacts.yml
create mode 100644 .github/workflows/_rust.yml
create mode 100644 .github/workflows/_rust_tests.yml
rename core/binary_protocol/src/requests/messages/{get_send_context.rs => get_partition_route.rs} (77%)
create mode 100644 core/binary_protocol/src/responses/messages/partition_route.rs
create mode 100644 core/integration/tests/server/pipelined_frames_vsr.rs
create mode 100644 core/sdk/src/driver.rs
rename core/sdk/src/{poll_routing.rs => driver/poll_router.rs} (91%)
create mode 100644 core/sdk/src/driver/route_cache.rs
copy core/sdk/src/{leader_aware.rs => links/connect.rs} (54%)
create mode 100644 core/sdk/src/links/dial.rs
create mode 100644 core/sdk/src/links/fake_cluster.rs
create mode 100644 core/sdk/src/links/mod.rs
create mode 100644 core/sdk/src/links/mux.rs
create mode 100644 core/sdk/src/links/quic.rs
create mode 100644 core/sdk/src/links/replicas.rs
create mode 100644 core/sdk/src/session_owner.rs
create mode 100644 core/sdk/src/session_owner/lanes.rs
delete mode 100644 core/sdk/src/tcp/tcp_connection_stream.rs
delete mode 100644 core/sdk/src/tcp/tcp_connection_stream_kind.rs
delete mode 100644 core/sdk/src/tcp/tcp_stream.rs
delete mode 100644 core/sdk/src/tcp/tcp_tls_connection_stream.rs
delete mode 100644 core/sdk/src/websocket/websocket_connection_stream.rs
delete mode 100644 core/sdk/src/websocket/websocket_stream.rs
delete mode 100644 core/sdk/src/websocket/websocket_stream_kind.rs
delete mode 100644 core/sdk/src/websocket/websocket_tls_connection_stream.rs
create mode 100644 core/simulator/src/workload/ops/join_fixture_group.rs
copy core/simulator/src/workload/ops/{update_permissions.rs => leave_fixture_group.rs} (55%)
create mode 100644 core/simulator/src/workload/ops/replace_fixture_topic.rs
copy core/simulator/src/workload/ops/{update_permissions.rs => store_stale_owner_offset.rs} (50%)
copy foreign/csharp/Iggy_SDK/{Utils/SdkVersion.cs => Contracts/PartitionRoute.cs} (73%)
delete mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/PartitionContexts.java
create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/config/TcpConnectionString.java
create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/partition/PartitionRoute.java
create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientBuilderConnectionStringTest.java
create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/config/TcpConnectionStringTest.java
create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/partition/PartitionRouteTest.java
create mode 100644 foreign/node/src/wire/partition/partition-route.test.ts
create mode 100644 foreign/node/src/wire/partition/partition-route.ts
create mode 100644 foreign/swift/Package.resolved
create mode 100644 foreign/swift/Sources/Iggy/Client/ClientConfiguration.swift
create mode 100644 foreign/swift/Sources/Iggy/Client/ClientCore.swift
create mode 100644 foreign/swift/Sources/Iggy/Client/ConsumerGroupState.swift
create mode 100644 foreign/swift/Sources/Iggy/Client/IggyClient+Messages.swift
create mode 100644 foreign/swift/Sources/Iggy/Client/IggyClient+Resources.swift
create mode 100644 foreign/swift/Sources/Iggy/Client/IggyClient.swift
create mode 100644 foreign/swift/Sources/Iggy/Client/PollRouter.swift
create mode 100644 foreign/swift/Sources/Iggy/Transport/Endpoint.swift
create mode 100644 foreign/swift/Sources/Iggy/Transport/TCPConnection.swift
create mode 100644 foreign/swift/Sources/Iggy/Transport/TLSOptions.swift
create mode 100644 foreign/swift/Sources/Iggy/Utilities/AsyncMutex.swift
create mode 100644 foreign/swift/Tests/IggyE2ETests/ClientE2ETests.swift
create mode 100644 foreign/swift/Tests/IggyE2ETests/Support/E2EEnvironment.swift
create mode 100644 foreign/swift/Tests/IggyTests/ClientTransportTests.swift
create mode 100644 foreign/swift/Tests/IggyTests/ConcurrencyTests.swift
create mode 100644 foreign/swift/Tests/IggyTests/ConfigurationTests.swift
create mode 100644 foreign/swift/Tests/IggyTests/ConsumerGroupStateTests.swift
create mode 100644 foreign/swift/Tests/IggyTests/MessagingTests.swift
create mode 100644 foreign/swift/Tests/IggyTests/Support/FakeVSRServer.swift
create mode 100644 foreign/swift/Tests/IggyTests/Support/TestHelpers.swift
create mode 100644 gateways/kafka/src/listener.rs
create mode 100644 gateways/kafka/src/tls/identity.rs
create mode 100644 gateways/kafka/src/tls/mod.rs
create mode 100644 gateways/kafka/tests/common/certs.rs
create mode 100644 gateways/kafka/tests/tls_listener_tests.rs
copy scripts/{dashboard/build_release.sh => ci/restore-runtime.sh} (60%)
create mode 100644 scripts/ci/test-runtime-artifacts.py