This is an automated email from the ASF dual-hosted git repository.
numinnex pushed a change to branch fix_sdk_request_id_for_partition
in repository https://gitbox.apache.org/repos/asf/iggy.git
from 92c9ce814 address review comments
add 69429e5e2 feat(connectors): store source state on an HTTP state server
(#3940)
add f8311d651 feat(cpp): add functions related to user management, and
initial high-level client (#3733)
add 2bd9d0bce fix(shard): tell an unknown consensus operation from a
corrupt header (#3931)
add a2a8f0491 chore(deps): Bump the csharp group with 12 updates (#3961)
add 228f47e0c refactor(csharp): cleanup tcp connection after vsr
implementation (#3858)
add 7207c640a ci(csharp): separate baseline coverage reports per framework
(#3960)
add 4e5ec2586 fix(consensus): keep a client's dedup fence across capacity
eviction (#3934)
add 2cbf6c15e chore(repo): bump Rust toolchain to 1.98.0 (#3962)
add 1a9874859 fix(connectors): Harden Elasticsearch sink test readiness
(#3729)
add 4c475dfcf fix(ci): bump cargo-zigbuild so arm64 images link under Rust
1.98 (#3963)
add 37d7eee35 refactor(sdk): introduce NonZeroIggyDuration for retries and
heartbeats (#3891)
add 2e420398b feat(connectors): add Redshift sink connector (#3654)
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 599b3411b Merge branch 'master' into fix_sdk_request_id_for_partition
No new revisions were added by this update.
Summary of changes:
.devcontainer/Dockerfile | 4 +-
.github/actions/cpp-bazel/pre-merge/action.yml | 25 +-
.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 | 34 +-
.github/workflows/post-merge.yml | 4 +-
.github/workflows/pr-title.yml | 1 +
.gitignore | 1 +
Cargo.lock | 432 ++++-
Cargo.toml | 8 +
Dockerfile | 2 +-
README.md | 2 +-
.../features/step_definitions/background_steps.cpp | 5 +-
.../features/step_definitions/messaging_steps.cpp | 18 +-
bdd/java/Dockerfile | 2 +-
bdd/php/Dockerfile | 2 +-
bdd/python/Dockerfile | 2 +-
bdd/rust/Dockerfile | 2 +-
bdd/rust/tests/helpers/cluster.rs | 19 +
bdd/rust/tests/steps/leader_redirection.rs | 14 +-
core/ai/mcp/Dockerfile | 4 +-
.../frontend/src/components/chart/trend_chart.rs | 2 +-
core/bench/dashboard/server/Dockerfile | 2 +-
.../actors/consumer/typed_benchmark_consumer.rs | 12 +-
core/binary_protocol/src/consensus/error.rs | 11 +
core/binary_protocol/src/consensus/header.rs | 70 +
core/binary_protocol/src/consensus/mod.rs | 2 +-
core/binary_protocol/src/consensus/operation.rs | 11 +
core/binary_protocol/src/lib.rs | 3 +-
core/cli/src/commands/binary_client/get_clients.rs | 4 +-
.../get_personal_access_tokens.rs | 2 +-
core/common/src/lib.rs | 2 +-
.../traits/binary_impls/personal_access_tokens.rs | 10 +-
core/common/src/traits/binary_impls/system.rs | 6 +-
core/common/src/traits/binary_impls/users.rs | 14 +-
core/common/src/traits/binary_transport.rs | 26 +-
core/common/src/traits/system_client.rs | 6 +-
.../configuration/auth_config/connection_string.rs | 8 +-
.../auth_config/connection_string_options.rs | 4 +-
.../http_config/http_client_config.rs | 9 +-
.../http_config/http_client_config_builder.rs | 22 +-
.../http_config/http_connection_string_options.rs | 34 +-
.../quic_config/quic_client_config.rs | 6 +-
.../quic_config/quic_client_config_builder.rs | 9 +-
.../quic_config/quic_client_reconnection_config.rs | 9 +-
.../quic_config/quic_connection_string_options.rs | 17 +-
.../configuration/tcp_config/tcp_client_config.rs | 6 +-
.../tcp_config/tcp_client_config_builder.rs | 7 +-
.../tcp_config/tcp_client_reconnection_config.rs | 40 +-
.../tcp_config/tcp_connection_string_options.rs | 17 +-
.../websocket_config/websocket_client_config.rs | 6 +-
.../websocket_client_config_builder.rs | 9 +-
.../websocket_client_reconnection_config.rs | 6 +-
.../websocket_connection_string_options.rs | 17 +-
core/common/src/utils/duration.rs | 395 ++++-
.../configs/src/configs_impl/typed_env_provider.rs | 13 +-
core/connectors/README.md | 1 +
core/connectors/runtime/Cargo.toml | 4 +
core/connectors/runtime/Dockerfile | 4 +-
core/connectors/runtime/README.md | 61 +
core/connectors/runtime/config.toml | 23 +-
core/connectors/runtime/example_config/config.toml | 22 +-
core/connectors/runtime/src/api/auth.rs | 7 +-
core/connectors/runtime/src/api/source.rs | 1 -
core/connectors/runtime/src/configs/runtime.rs | 241 ++-
core/connectors/runtime/src/context.rs | 7 +-
core/connectors/runtime/src/error.rs | 10 +
core/connectors/runtime/src/main.rs | 8 +-
core/connectors/runtime/src/manager/source.rs | 22 +-
core/connectors/runtime/src/source.rs | 134 +-
core/connectors/runtime/src/state.rs | 146 ++
core/connectors/runtime/src/state/http.rs | 1539 +++++++++++++++++
core/connectors/runtime/src/stream.rs | 102 +-
core/connectors/sdk/src/lib.rs | 15 +
core/connectors/sinks/README.md | 1 +
core/connectors/sinks/elasticsearch_sink/README.md | 2 +-
.../connectors/sinks/elasticsearch_sink/src/lib.rs | 20 +-
.../sinks/{s3_sink => redshift_sink}/Cargo.toml | 23 +-
core/connectors/sinks/redshift_sink/README.md | 216 +++
.../{postgres_sink => redshift_sink}/config.toml | 21 +-
core/connectors/sinks/redshift_sink/src/config.rs | 159 ++
core/connectors/sinks/redshift_sink/src/lib.rs | 1491 ++++++++++++++++
core/consensus/Cargo.toml | 4 +-
core/consensus/src/client_table.rs | 1318 +++++++++++++-
core/consensus/src/lib.rs | 2 +-
core/consensus/src/metadata_helpers.rs | 24 +-
core/integration/Cargo.toml | 6 +
.../src/harness/handle/connectors_runtime.rs | 56 +-
.../tests/cluster/client_table_adversarial.rs | 90 +-
.../tests/cluster/failover_client_continuity.rs | 47 +-
.../connectors/fixtures/elasticsearch/container.rs | 385 ++++-
.../connectors/fixtures/elasticsearch/sink.rs | 103 +-
.../connectors/fixtures/elasticsearch/source.rs | 2 -
core/integration/tests/connectors/fixtures/mod.rs | 5 +
.../connectors/fixtures/redshift/container.rs | 276 +++
.../fixtures/{clickhouse => redshift}/mod.rs | 5 +-
.../fixtures/redshift/redshift_mock/ddl.rs | 77 +
.../fixtures/redshift/redshift_mock/dml.rs | 209 +++
.../fixtures/redshift/redshift_mock/dql.rs | 92 +
.../fixtures/redshift/redshift_mock/handler.rs | 256 +++
.../fixtures/redshift/redshift_mock/load.rs | 314 ++++
.../fixtures/redshift/redshift_mock}/mod.rs | 8 +-
.../fixtures/redshift/redshift_mock/parser.rs | 556 ++++++
.../fixtures/redshift/redshift_mock/util.rs | 152 ++
.../tests/connectors/fixtures/redshift/sink.rs | 480 ++++++
core/integration/tests/connectors/mod.rs | 1 +
.../tests/connectors/{http => redshift}/mod.rs | 2 +-
.../tests/connectors/redshift/redshift_sink.rs | 418 +++++
.../tests/connectors/{delta => redshift}/sink.toml | 2 +-
.../tests/connectors/runtime/http_state.rs | 417 +++++
.../{benchmark_json.toml => http_state.toml} | 16 +-
.../random_source.toml | 11 +-
core/integration/tests/connectors/runtime/mod.rs | 1 +
.../verify_consumer_group_partition_assignment.rs | 4 +-
core/integration/tests/sdk/disconnect_relogin.rs | 66 +
core/integration/tests/sdk/mod.rs | 1 +
...umer_group_auto_commit_reconnection_scenario.rs | 2 +-
.../consumer_group_offset_cleanup_scenario.rs | 2 +-
.../consumer_timestamp_polling_scenario.rs | 2 +-
.../server/scenarios/purge_delete_scenario.rs | 4 +-
.../scenarios/reconnect_after_restart_scenario.rs | 4 +-
.../stale_client_consumer_group_scenario.rs | 8 +-
core/message_bus/Cargo.toml | 4 +-
core/message_bus/src/replica/handshake.rs | 2 +-
core/metadata/Cargo.toml | 4 +-
core/metadata/src/impls/metadata.rs | 57 +-
core/metadata/src/impls/recovery.rs | 11 +-
core/metadata/src/stm/snapshot.rs | 87 +-
core/partitions/Cargo.toml | 4 +-
core/partitions/src/iggy_index_reader.rs | 3 +-
core/partitions/src/iggy_partition.rs | 4 +-
core/partitions/src/log.rs | 7 +-
core/partitions/src/poll_plan.rs | 11 +-
core/sdk/README.md | 2 +-
core/sdk/src/client_provider.rs | 40 +-
.../src/client_wrappers/binary_system_client.rs | 6 +-
.../src/clients/binary_personal_access_tokens.rs | 10 +
core/sdk/src/clients/binary_system.rs | 6 +-
core/sdk/src/clients/binary_users.rs | 10 +
core/sdk/src/clients/client_builder.rs | 20 +-
core/sdk/src/clients/consumer.rs | 448 +++--
core/sdk/src/clients/consumer_builder.rs | 18 +-
core/sdk/src/clients/mod.rs | 33 +
core/sdk/src/clients/producer.rs | 8 +-
core/sdk/src/clients/producer_builder.rs | 9 +-
core/sdk/src/clients/producer_dispatcher.rs | 110 +-
core/sdk/src/http/http_client.rs | 17 +-
core/sdk/src/http/system.rs | 4 +-
core/sdk/src/leader_aware.rs | 314 +++-
core/sdk/src/prelude.rs | 9 +-
core/sdk/src/quic/quic_client.rs | 47 +-
.../stream_builder/config/config_iggy_consumer.rs | 55 +-
.../stream_builder/config/config_iggy_producer.rs | 20 +-
core/sdk/src/tcp/tcp_client.rs | 1790 +++++++++++++++++---
core/sdk/src/vsr.rs | 2 +-
core/sdk/src/websocket/websocket_client.rs | 40 +-
core/server/Cargo.toml | 4 +-
core/server/Dockerfile | 4 +-
core/server/src/dispatch.rs | 18 +-
core/server/src/lib.rs | 8 +
core/server/src/main.rs | 4 +
core/server/src/partition_reconciler.rs | 124 ++
core/server/src/segment_recovery.rs | 2 +-
core/server_common/src/consensus_message.rs | 219 ++-
core/shard/src/metrics.rs | 14 +-
core/shard/src/router.rs | 98 +-
core/simulator/Cargo.toml | 4 +-
.../Iggy_SDK.Examples.Basic.Consumer.csproj | 8 +-
.../Iggy_SDK.Examples.Basic.Producer.csproj | 10 +-
...ggy_SDK.Examples.GettingStarted.Consumer.csproj | 4 +-
...ggy_SDK.Examples.GettingStarted.Producer.csproj | 4 +-
.../Iggy_SDK.Examples.Shared.csproj | 2 +-
...gy_SDK.Examples.MessageEnvelope.Consumer.csproj | 10 +-
...gy_SDK.Examples.MessageEnvelope.Producer.csproj | 10 +-
...ggy_SDK.Examples.MessageHeaders.Consumer.csproj | 4 +-
...ggy_SDK.Examples.MessageHeaders.Producer.csproj | 4 +-
.../Iggy_SDK.Examples.NewSdk.Consumer.csproj | 10 +-
.../Iggy_SDK.Examples.NewSdk.Producer.csproj | 10 +-
.../Iggy_SDK.Examples.TcpTls.Consumer.csproj | 4 +-
.../Iggy_SDK.Examples.TcpTls.Producer.csproj | 4 +-
.../stream-builder/stream-consumer-config/main.rs | 4 +-
.../stream-builder/stream-producer-config/main.rs | 2 +-
foreign/cpp/.bazelrc | 5 +-
foreign/cpp/include/iggy.hpp | 917 ++++++++--
foreign/cpp/src/client.cpp | 200 +++
foreign/cpp/src/client.rs | 197 ++-
foreign/cpp/src/lib.rs | 89 +-
foreign/cpp/src/type_conversion.rs | 146 +-
foreign/cpp/tests/e2e/client.cpp | 1606 +++++++++++++++++-
foreign/cpp/tests/e2e/test_helpers.hpp | 202 ++-
foreign/cpp/tests/e2e/topic.cpp | 10 +-
foreign/cpp/tests/unit/unit_tests.cpp | 169 +-
foreign/csharp/Directory.Packages.props | 14 +-
.../Iggy_SDK.Tests.Integration/HeartbeatTests.cs | 31 +-
.../Iggy_SDK.Tests.Integration/OptionsTests.cs | 189 +++
.../Iggy_SDK/ConnectionStream/IConnectionStream.cs | 26 -
.../ConnectionStream/TcpConnectionStream.cs | 53 -
.../Iggy_SDK/Consumers/IggyConsumer.Rented.cs | 3 +-
foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs | 99 +-
.../Implementations/TcpMessageStream.Vsr.cs | 525 ++----
.../IggyClient/Implementations/TcpMessageStream.cs | 736 ++++----
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs | 4 +-
.../Utils/ArrayPoolHelper.cs} | 34 +-
foreign/csharp/Iggy_SDK/Utils/BufferSizes.cs | 23 -
.../Iggy_SDK/Utils/TcpMessageStreamHelpers.cs | 19 -
foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs | 19 +
.../{Command.cs => ISessionGenerationProvider.cs} | 14 +-
foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs | 372 ++++
.../ConsumerSessionGenerationTests.cs | 245 +++
.../ConsumerTests/RentedConsumerTests.cs | 4 +-
.../MessageBatchGoldenVectorTests.cs | 4 +-
.../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs | 11 +-
.../UtilityTests/SlicedMemoryOwnerTests.cs | 85 -
.../Utils/Errors/ErrorModelFactory.cs | 33 -
.../VsrTests/ConsensusSessionTests.cs | 20 +
.../Iggy_SDK_Tests/VsrTests/DialCandidatesTests.cs | 79 +
.../VsrTests/EndpointFailoverTests.cs | 576 +++++++
foreign/csharp/README.md | 27 +-
foreign/go/client/tcp/tcp_connect_test.go | 15 +-
foreign/go/client/tcp/tcp_core.go | 426 ++++-
foreign/go/client/tcp/tcp_core_review_test.go | 13 +-
foreign/go/client/tcp/tcp_failover_test.go | 750 ++++++++
.../go/client/tcp/tcp_session_credentials_test.go | 66 +
foreign/go/client/tcp/tcp_session_management.go | 81 +-
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 323 +++-
.../iggy/client/async/tcp/AsyncTcpConnection.java | 61 +-
.../iggy/client/async/tcp/LeaderAwareness.java | 76 +-
.../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/VsrResponseHandler.java | 11 +-
.../AsyncIggyTcpClientEndpointFailoverTest.java | 562 ++++++
.../AsyncIggyTcpClientTransientFailoverTest.java | 197 ++-
.../tcp/AsyncTcpConnectionConcurrencyTest.java | 4 +-
.../iggy/client/async/tcp/LeaderAwarenessTest.java | 99 +-
.../iggy/client/async/tcp/ReconnectPlanTest.java | 18 -
.../async/tcp/vsr/VsrResponseHandlerTest.java | 10 +-
foreign/node/src/client/client.connection.test.ts | 359 ++++
foreign/node/src/client/client.connection.ts | 262 ++-
foreign/node/src/client/client.socket.test.ts | 485 +++++-
foreign/node/src/client/client.socket.ts | 360 +++-
foreign/node/src/client/client.type.ts | 26 +-
foreign/php/Dockerfile.test | 2 +-
foreign/php/src/client.rs | 15 +-
foreign/php/src/consumer.rs | 25 +-
foreign/php/tests/IggySdkTest.php | 58 +-
foreign/python/apache_iggy.pyi | 34 +-
foreign/python/pyproject.toml | 4 +
foreign/python/src/client.rs | 8 +
foreign/python/src/config.rs | 40 +-
foreign/python/src/consumer.rs | 126 +-
foreign/python/src/duration.rs | 16 +-
foreign/python/tests/test_client_config.py | 77 +-
foreign/python/tests/test_consumer_group.py | 118 ++
gateways/README.md | 9 +
{core/message_bus => gateways/kafka}/Cargo.toml | 55 +-
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 +
rust-toolchain.toml | 2 +-
scripts/ci/coverage-baseline-affected.sh | 2 +-
297 files changed, 34016 insertions(+), 3215 deletions(-)
create mode 100644 core/connectors/runtime/src/state/http.rs
copy core/connectors/sinks/{s3_sink => redshift_sink}/Cargo.toml (71%)
create mode 100644 core/connectors/sinks/redshift_sink/README.md
copy core/connectors/sinks/{postgres_sink => redshift_sink}/config.toml (70%)
create mode 100644 core/connectors/sinks/redshift_sink/src/config.rs
create mode 100644 core/connectors/sinks/redshift_sink/src/lib.rs
create mode 100644
core/integration/tests/connectors/fixtures/redshift/container.rs
copy core/integration/tests/connectors/fixtures/{clickhouse =>
redshift}/mod.rs (80%)
create mode 100644
core/integration/tests/connectors/fixtures/redshift/redshift_mock/ddl.rs
create mode 100644
core/integration/tests/connectors/fixtures/redshift/redshift_mock/dml.rs
create mode 100644
core/integration/tests/connectors/fixtures/redshift/redshift_mock/dql.rs
create mode 100644
core/integration/tests/connectors/fixtures/redshift/redshift_mock/handler.rs
create mode 100644
core/integration/tests/connectors/fixtures/redshift/redshift_mock/load.rs
copy core/{bench/dashboard/frontend/src/components/theme =>
integration/tests/connectors/fixtures/redshift/redshift_mock}/mod.rs (88%)
create mode 100644
core/integration/tests/connectors/fixtures/redshift/redshift_mock/parser.rs
create mode 100644
core/integration/tests/connectors/fixtures/redshift/redshift_mock/util.rs
create mode 100644 core/integration/tests/connectors/fixtures/redshift/sink.rs
copy core/integration/tests/connectors/{http => redshift}/mod.rs (97%)
create mode 100644 core/integration/tests/connectors/redshift/redshift_sink.rs
copy core/integration/tests/connectors/{delta => redshift}/sink.toml (94%)
create mode 100644 core/integration/tests/connectors/runtime/http_state.rs
copy core/integration/tests/connectors/runtime/{benchmark_json.toml =>
http_state.toml} (73%)
copy core/integration/tests/connectors/runtime/{benchmark_config =>
http_state_config}/random_source.toml (89%)
create mode 100644 core/integration/tests/sdk/disconnect_relogin.rs
create mode 100644 foreign/cpp/src/client.cpp
create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/OptionsTests.cs
delete mode 100644
foreign/csharp/Iggy_SDK/ConnectionStream/IConnectionStream.cs
delete mode 100644
foreign/csharp/Iggy_SDK/ConnectionStream/TcpConnectionStream.cs
copy
foreign/csharp/{Iggy_SDK.Tests.Integration/Attributes/SkipHttpAttribute.cs =>
Iggy_SDK/Utils/ArrayPoolHelper.cs} (53%)
delete mode 100644 foreign/csharp/Iggy_SDK/Utils/BufferSizes.cs
copy foreign/csharp/Iggy_SDK/Vsr/{Command.cs => ISessionGenerationProvider.cs}
(58%)
create mode 100644 foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/ConsumerTests/ConsumerSessionGenerationTests.cs
delete mode 100644
foreign/csharp/Iggy_SDK_Tests/UtilityTests/SlicedMemoryOwnerTests.cs
delete mode 100644
foreign/csharp/Iggy_SDK_Tests/Utils/Errors/ErrorModelFactory.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
create mode 100644 gateways/README.md
copy {core/message_bus => gateways/kafka}/Cargo.toml (56%)
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