This is an automated email from the ASF dual-hosted git repository.
numinnex pushed a change to branch mtls_kafka_proxy
in repository https://gitbox.apache.org/repos/asf/iggy.git
from b277988ac address review
add 1e1278299 fix(partitions): fence install backup on writeback failure
(#4278)
add edb418bbe perf(gateways): give each Kafka producer its own Iggy client
(#4502)
add b669d9669 fix(gateways): stop reporting cleanup.policy and accept -1
defaults (#4534)
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)
new a5e4b6bb7 merge master
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../actions/python-maturin/pre-merge/action.yml | 2 +-
.github/workflows/_common.yml | 4 +-
.github/workflows/coverage-baseline.yml | 4 +-
Cargo.lock | 2482 ++--
Cargo.toml | 98 +-
bdd/go/tests/tcp_test/messages_feature_send.go | 4 +-
bdd/go/tests/tcp_test/offset_feature_delete.go | 2 +-
bdd/rust/tests/steps/leader_redirection.rs | 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 | 426 +-
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 +-
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/types/cluster/node.rs | 8 +-
core/common/src/wire_conversions.rs | 20 +
core/configs/src/server_config/cluster.rs | 11 +-
core/connectors/sinks/rabbitmq_sink/src/lib.rs | 42 +-
core/consensus/src/client_table.rs | 15 +-
core/consensus/src/impls.rs | 232 +-
core/consensus/src/lib.rs | 7 +
core/consensus/src/plane_helpers.rs | 285 +-
core/integration/src/harness/handle/mcp.rs | 4 +-
.../cli/system/test_cluster_metadata_command.rs | 4 +-
.../tests/cluster/client_table_adversarial.rs | 1 +
.../tests/cluster/client_table_restart.rs | 1 +
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 | 89 +-
.../tests/sdk/consumer_group_membership.rs | 15 +-
core/integration/tests/server/http_client.rs | 17 +
.../tests/server/http_read_your_writes.rs | 19 +-
core/integration/tests/server/http_vsr.rs | 82 +-
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 +-
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 | 293 +-
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 | 153 +-
core/metadata/src/stm/snapshot.rs | 28 +-
core/metadata/src/stm/stream.rs | 141 +-
core/partitions/Cargo.toml | 2 +-
core/partitions/src/consumer_offset_capacity.rs | 14 +
core/partitions/src/iggy_index_writer.rs | 13 +-
core/partitions/src/iggy_partition.rs | 11751 ++++++++++++-------
core/partitions/src/install_backup.rs | 84 +-
core/partitions/src/io.rs | 144 +-
core/partitions/src/journal.rs | 63 +-
core/partitions/src/lib.rs | 11 +-
core/partitions/src/log.rs | 7 +-
core/partitions/src/messages_writer.rs | 13 +-
core/partitions/src/offset_recovery.rs | 62 +-
core/partitions/src/offset_storage.rs | 31 +
core/partitions/src/partition_storage.rs | 104 +-
core/partitions/src/persistence.rs | 67 +-
core/partitions/src/segment_recovery.rs | 3 +-
core/partitions/src/state_transfer.rs | 187 +-
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 | 22 +-
core/server/config.toml | 33 +-
core/server/src/boot/mod.rs | 61 +-
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 | 10 +-
core/server/src/dispatch/authz.rs | 10 +-
core/server/src/dispatch/failure.rs | 73 +-
core/server/src/dispatch/host.rs | 40 +-
core/server/src/dispatch/mod.rs | 1482 ++-
core/server/src/dispatch/partition.rs | 866 +-
core/server/src/dispatch/reads.rs | 93 +-
core/server/src/dispatch/submit.rs | 1386 ++-
core/server/src/dispatch/test_support.rs | 91 +-
core/server/src/http.rs | 38 +-
core/server/src/http/error.rs | 17 +-
core/server/src/http/forward.rs | 965 +-
core/server/src/http/handlers.rs | 268 +-
core/server/src/http/reply.rs | 8 +
core/server/src/http/state.rs | 7 +
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_common/src/consensus_message.rs | 16 +-
core/shard/src/coordinator.rs | 5 +
core/shard/src/lib.rs | 1224 +-
core/shard/src/partition_io.rs | 2694 ++++-
core/shard/src/poll.rs | 87 +-
core/shard/src/poll/completion_tests.rs | 229 +-
core/simulator/src/bin/workload-fuzz.rs | 64 +-
core/simulator/src/client.rs | 27 +-
core/simulator/src/deps.rs | 21 +-
core/simulator/src/lib.rs | 2468 +++-
core/simulator/src/packet.rs | 3 +-
core/simulator/src/replica.rs | 6 +-
core/simulator/src/storage/tests.rs | 209 +-
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 +++-
.../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 +-
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 +-
foreign/cpp/Cargo.toml | 6 +-
foreign/cpp/src/lib.rs | 1 +
foreign/cpp/src/type_conversion.rs | 1 +
foreign/csharp/Directory.Packages.props | 8 +-
.../Fixtures/VsrCluster.cs | 9 +
.../Helpers/ConsumerGroupAssignment.cs | 4 +-
.../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/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 +-
.../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs | 59 +-
.../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 | 46 +-
foreign/go/internal/vsr/session_test.go | 40 +-
foreign/go/tests/e2e_test.go | 29 +-
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 69 +-
.../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 | 21 +-
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 2 +-
.../client/async/tcp/vsr/VsrRequestEncoder.java | 13 +-
.../java/org/apache/iggy/cluster/ClusterNode.java | 14 +-
.../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 +-
.../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 | 35 +-
.../client/blocking/http/ObjectMapperTest.java | 19 +
.../apache/iggy/partition/PartitionRouteTest.java | 65 +
.../apache/iggy/serde/BytesDeserializerTest.java | 3 +
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/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.ts | 5 +-
foreign/node/src/wire/vsr/vsr.test.ts | 4 +-
foreign/python/Cargo.toml | 6 +-
foreign/swift/Package.resolved | 60 +
foreign/swift/Package.swift | 24 +-
foreign/swift/README.md | 74 +-
.../Sources/Iggy/Client/ClientConfiguration.swift | 142 +
foreign/swift/Sources/Iggy/Client/ClientCore.swift | 1082 ++
.../Sources/Iggy/Client/IggyClient+Resources.swift | 195 +
foreign/swift/Sources/Iggy/Client/IggyClient.swift | 239 +
foreign/swift/Sources/Iggy/Errors/IggyError.swift | 28 +
.../swift/Sources/Iggy/Errors/IggyErrorCode.swift | 8 +
foreign/swift/Sources/Iggy/Models/Resources.swift | 4 +-
.../swift/Sources/Iggy/Models/TopicOptions.swift | 3 +
.../swift/Sources/Iggy/Protocol/CommandCode.swift | 16 +-
foreign/swift/Sources/Iggy/Protocol/Requests.swift | 6 +-
.../swift/Sources/Iggy/Protocol/Responses.swift | 3 +-
.../swift/Sources/Iggy/Transport/Endpoint.swift | 155 +
.../Sources/Iggy/Transport/TCPConnection.swift | 295 +
.../swift/Sources/Iggy/Transport/TLSOptions.swift | 67 +
.../swift/Sources/Iggy/Utilities/AsyncMutex.swift | 201 +
.../Tests/IggyTests/ClientTransportTests.swift | 1168 ++
.../swift/Tests/IggyTests/ConcurrencyTests.swift | 209 +
.../swift/Tests/IggyTests/ConfigurationTests.swift | 120 +
foreign/swift/Tests/IggyTests/Fixtures/golden.json | 8 +-
foreign/swift/Tests/IggyTests/ProtocolTests.swift | 6 +-
.../Tests/IggyTests/ResponseVectorTests.swift | 2 +
.../Tests/IggyTests/Support/FakeVSRServer.swift | 331 +
.../Tests/IggyTests/Support/TestHelpers.swift | 64 +
foreign/swift/Tools/golden-vectors/src/main.rs | 2 +
gateways/kafka/README.md | 65 +-
gateways/kafka/docs/CONFIGS.md | 31 +-
gateways/kafka/docs/IDEMPOTENCE.md | 37 +-
gateways/kafka/docs/MANUAL_TESTING.md | 4 +-
gateways/kafka/docs/SCOPE.md | 11 +-
gateways/kafka/src/bridge/config.rs | 87 +-
gateways/kafka/src/bridge/iggy_bridge/fetch.rs | 34 +-
.../kafka/src/bridge/iggy_bridge/group_offsets.rs | 20 +-
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 114 +-
gateways/kafka/src/bridge/iggy_bridge/produce.rs | 819 +-
gateways/kafka/src/bridge/mod.rs | 6 +-
gateways/kafka/src/main.rs | 43 +-
gateways/kafka/src/protocol/api.rs | 52 +-
.../kafka/src/protocol/handlers/create_topics.rs | 125 +-
.../src/protocol/handlers/describe_configs.rs | 42 +-
.../src/protocol/handlers/init_producer_id.rs | 46 +-
gateways/kafka/src/protocol/handlers/mod.rs | 2 +-
gateways/kafka/src/protocol/handlers/produce.rs | 479 +-
.../kafka/src/protocol/handlers/topic_config.rs | 55 +-
gateways/kafka/src/records.rs | 149 +-
gateways/kafka/src/server.rs | 27 +-
.../kafka/tests/bridge_iggy_integration_tests.rs | 6 +-
gateways/kafka/tests/common/iggy_server.rs | 19 +-
gateways/kafka/tests/configs_java_client_tests.rs | 5 +-
gateways/kafka/tests/configs_real_bridge_tests.rs | 18 +-
.../kafka/tests/create_topics_real_bridge_tests.rs | 45 +
gateways/kafka/tests/java/ConfigsProbe.java | 17 +-
gateways/kafka/tests/kafka_client_e2e_tests.rs | 5 +-
gateways/kafka/tests/produce_real_bridge_tests.rs | 189 +-
gateways/kafka/tests/response_negative_tests.rs | 11 +-
339 files changed, 49891 insertions(+), 14894 deletions(-)
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/partition/PartitionRoute.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/IggyClient+Resources.swift
create mode 100644 foreign/swift/Sources/Iggy/Client/IggyClient.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/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/Support/FakeVSRServer.swift
create mode 100644 foreign/swift/Tests/IggyTests/Support/TestHelpers.swift