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/08/10 12:41:28 UTC

(iggy) branch vsr-dvc-headers updated (9c6614b41 -> 5c02ff62f)

This is an automated email from the ASF dual-hosted git repository.

numinnex pushed a change to branch vsr-dvc-headers
in repository https://gitbox.apache.org/repos/asf/iggy.git


    from 9c6614b41 ci(go): start both replicas for the Go cluster e2e
     add 7ff58de25 feat(csharp): migrate to VSR wire protocol (#3800)
     add 70903b836 fix(server-ng): stop redundant partition rebuilds resetting offsets (#3846)
     add 1ac819e99 feat(python): expose TCP client configuration (#3776)
     add 4a8394abc feat(java): migrate the TCP client to the VSR wire protocol (#3841)
     add f900e7abe docs(connectors): fix the inverted serde_secret redaction claim (#3803)
     add 0102c0f81 fix(rust): add heartbeat handle and drop for rust sdk (#3852)
     add 5c02ff62f Merge branch 'master' into vsr-dvc-headers

No new revisions were added by this update.

Summary of changes:
 .claude/skills/connectors-overview/SKILL.md        |  26 +-
 .github/actions/csharp-dotnet/pre-merge/action.yml |  21 +-
 .github/actions/java-gradle/pre-merge/action.yml   |  12 +
 .github/workflows/_test_bdd.yml                    |  20 +-
 .github/workflows/_test_examples.yml               |  10 +-
 .github/workflows/coverage-baseline.yml            |  17 +-
 bdd/README.md                                      |   9 +-
 bdd/docker-compose.vsr.yml                         |   1 +
 .../apache/iggy/bdd/LeaderRedirectionSteps.java    |  35 +-
 core/common/src/utils/serde_secret.rs              |  95 +-
 core/partitions/src/iggy_partition.rs              |  19 +-
 core/partitions/src/iggy_partitions.rs             |   7 +
 core/sdk/src/clients/client.rs                     |  35 +-
 core/sdk/src/prelude.rs                            |  24 +-
 core/server-ng/src/auth.rs                         |   6 +-
 core/server-ng/src/bootstrap.rs                    |   1 -
 core/server-ng/src/dispatch.rs                     |  22 +-
 core/server-ng/src/partition_helpers.rs            |   1 -
 core/server-ng/src/partition_reconciler.rs         | 239 +++--
 core/shard/src/lib.rs                              |  62 +-
 core/shard/src/metrics.rs                          |  12 +
 examples/java/README.md                            |  75 +-
 examples/python/getting-started/consumer.py        |  52 +-
 examples/python/getting-started/producer.py        |  50 +-
 foreign/csharp/Directory.Packages.props            |   1 +
 .../ClusterRedirectionTests.cs                     |  27 +-
 .../ConsumerGroupTests.cs                          |  11 +-
 .../FetchMessagesTests.cs                          |  34 +-
 .../Fixtures/IggyClusterFixture.cs                 | 250 ------
 .../Fixtures/IggyServerFixture.cs                  | 256 +++---
 .../Fixtures/IggyTlsServerFixture.cs               |   7 +-
 .../Fixtures/RedirectionClusterFixture.cs}         |  17 +-
 .../Fixtures/VsrCluster.cs                         | 438 +++++++++
 .../FlushMessagesTests.cs                          |  61 +-
 .../HeaderEncryptionIntegrationTests.cs            |  74 +-
 .../SkipHttpAttribute.cs => Helpers/Eventually.cs} |  33 +-
 .../IggyConsumerTests.cs                           |  94 +-
 .../IggyPublisherTests.cs                          |  93 +-
 .../IggyTlsConnectionTests.cs                      |  10 +-
 .../IggyTypedConsumerTests.cs                      |  20 +-
 .../IggyTypedPublisherTests.cs                     |   8 +-
 .../MessageEncryptionIntegrationTests.cs           |   4 +-
 .../Iggy_SDK.Tests.Integration/OffsetTests.cs      |  27 +-
 .../Iggy_SDK.Tests.Integration/PartitionsTests.cs  |   6 +-
 .../PersonalAccessTokenTests.cs                    |   2 +-
 .../Iggy_SDK.Tests.Integration/RawCommandTests.cs  |  12 +-
 .../Iggy_SDK.Tests.Integration/SegmentsTests.cs    |  12 +-
 .../SendMessagesTests.cs                           | 143 ++-
 .../Iggy_SDK.Tests.Integration/StreamsTests.cs     |   5 +-
 .../Iggy_SDK.Tests.Integration/SystemTests.cs      |  12 +-
 .../Iggy_SDK.Tests.Integration/TopicsTests.cs      |  37 +-
 .../Iggy_SDK.Tests.Integration/UsersTests.cs       |  16 +-
 .../Vsr/VsrConsumerGroupTests.cs                   | 228 +++++
 .../Vsr/VsrHandshakeTests.cs                       | 164 ++++
 .../Vsr/VsrMessagingTests.cs                       | 165 ++++
 .../Vsr/VsrMetadataTests.cs                        | 132 +++
 .../Iggy_SDK/Configuration/AutoLoginSettings.cs    |  15 +
 .../Configuration/IggyClientConfigurator.cs        |   6 +
 .../Iggy_SDK/Consumers/IggyConsumer.Rented.cs      |   8 +-
 foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs  |  10 +-
 .../Iggy_SDK/Consumers/IggyConsumerBuilder.cs      |   5 +-
 .../Iggy_SDK/Consumers/IggyConsumerBuilderOfT.cs   |  10 +-
 .../Iggy_SDK/Contracts/SendMessagesResponse.cs     |  77 ++
 .../Exceptions/IggyInvalidStatusCodeException.cs   |  12 +-
 .../VsrRequestOutcomeUnknownException.cs           |  33 +
 ...dException.cs => VsrSessionEvictedException.cs} |  26 +-
 .../csharp/Iggy_SDK/Factory/IggyClientFactory.cs   |  17 +-
 .../csharp/Iggy_SDK/IggyClient/IIggyPublisher.cs   |  25 +-
 foreign/csharp/Iggy_SDK/IggyClient/IIggySystem.cs  |   5 +-
 .../Implementations/HttpMessageStream.cs           | 100 ++-
 .../Implementations/TcpMessageStream.Vsr.cs        | 978 +++++++++++++++++++++
 .../IggyClient/Implementations/TcpMessageStream.cs | 499 +++++------
 .../Implementations/TransientHttpRetryHandler.cs   | 109 +++
 foreign/csharp/Iggy_SDK/Iggy_SDK.csproj            |   3 +-
 foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs    |  65 +-
 .../Publishers/BackgroundMessageProcessor.cs       |  43 +-
 .../csharp/Iggy_SDK/Publishers/IggyPublisher.cs    |  51 +-
 .../Iggy_SDK/Publishers/IggyPublisherBuilder.cs    |   3 +-
 .../Iggy_SDK/Publishers/IggyPublisherBuilderOfT.cs |   9 +-
 .../csharp/Iggy_SDK/Publishers/IggyPublisherOfT.cs |  35 +-
 foreign/csharp/Iggy_SDK/Utils/BufferSizes.cs       |   1 -
 foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs      |   3 +
 foreign/csharp/Iggy_SDK/Utils/ServerAddress.cs     | 139 +++
 .../{Enums/ConsumerType.cs => Vsr/Command2.cs}     |  20 +-
 foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs    | 223 +++++
 .../Iggy_SDK/Vsr/ConsumerGroupClientState.cs       | 301 +++++++
 foreign/csharp/Iggy_SDK/Vsr/CredentialBounds.cs    |  66 ++
 .../AutoLoginSettings.cs => Vsr/EvictionReason.cs} |  37 +-
 foreign/csharp/Iggy_SDK/Vsr/LoginRegister.cs       | 168 ++++
 foreign/csharp/Iggy_SDK/Vsr/SyncConsumerGroup.cs   |  61 ++
 foreign/csharp/Iggy_SDK/Vsr/VsrError.cs            |  61 ++
 foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs           | 156 ++++
 foreign/csharp/Iggy_SDK/Vsr/VsrNamespace.cs        | 251 ++++++
 foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs        | 275 ++++++
 foreign/csharp/Iggy_SDK/Vsr/VsrReplyDecoder.cs     | 206 +++++
 .../ClientTests/IggyClientFactoryTests.cs          |  67 ++
 .../ConsumerTests/IggyConsumerBuilderTests.cs      |  19 +
 .../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs     |  76 ++
 .../PublisherTests/IggyPublisherBuilderTests.cs}   |  33 +-
 .../PublisherTests/IggyTypedPublisherTests.cs      |   4 +-
 .../Iggy_SDK_Tests/UtilityTests/SendUnitTests.cs   |   7 +-
 .../VsrTests/ConsensusSessionTests.cs              | 218 +++++
 .../VsrTests/ConsumerGroupClientStateTests.cs      | 176 ++++
 .../VsrTests/CredentialBoundsTests.cs              |  72 ++
 .../Iggy_SDK_Tests/VsrTests/LoginRegisterTests.cs  | 165 ++++
 .../Iggy_SDK_Tests/VsrTests/ServerAddressTests.cs  |  85 ++
 .../VsrTests/SyncConsumerGroupTests.cs             |  93 ++
 .../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs      | 292 ++++++
 .../Iggy_SDK_Tests/VsrTests/VsrNamespaceTests.cs   | 282 ++++++
 .../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs   | 167 ++++
 .../VsrTests/VsrProtocolDriftTests.cs              | 849 ++++++++++++++++++
 .../VsrTests/VsrReplyDecoderTests.cs               | 293 ++++++
 .../Iggy_SDK_Tests/VsrTests/VsrTestPayloads.cs     | 102 +++
 foreign/csharp/README.md                           | 106 ++-
 foreign/java/README.md                             |   3 +-
 .../tcp/async/TcpAsyncPinnedProducerActor.java     |   1 -
 .../iggy/bench/report/ServerStatsCollector.java    |   1 -
 .../iggy/connector/flink/source/IggySource.java    |   1 -
 .../flink/example/AsyncTcpMessageSendTest.java     |  17 +-
 foreign/java/gradle.properties                     |   2 +-
 .../iggy/client/async/ConsumerGroupsClient.java    |  23 +
 .../apache/iggy/client/async/MessagesClient.java   |  22 +-
 .../iggy/client/async/tcp/AsyncIggyTcpClient.java  | 288 +++++-
 .../async/tcp/AsyncIggyTcpClientBuilder.java       |  71 +-
 .../iggy/client/async/tcp/AsyncTcpConnection.java  | 768 +++++++++++++---
 .../iggy/client/async/tcp/ClientRoutingState.java  | 159 ++++
 .../client/async/tcp/ConsumerGroupsTcpClient.java  |  19 +
 .../iggy/client/async/tcp/IggyAuthenticator.java   |  30 +-
 .../iggy/client/async/tcp/IggyFrameDecoder.java    |  73 --
 .../iggy/client/async/tcp/IggyFrameEncoder.java    |  61 --
 ...nRedirectionHook.java => LoginRoutingHook.java} |  21 +-
 .../iggy/client/async/tcp/MessagesTcpClient.java   | 245 +++++-
 .../async/tcp/PersonalAccessTokensTcpClient.java   |  16 +-
 .../iggy/client/async/tcp/ReconnectPlan.java       |  57 ++
 .../iggy/client/async/tcp/UsersTcpClient.java      |  15 +-
 .../apache/iggy/client/async/tcp/package-info.java |  13 +-
 .../client/async/tcp/vsr/ConsensusSession.java     | 128 +++
 .../iggy/client/async/tcp/vsr/VsrFrameDecoder.java |  67 ++
 .../iggy/client/async/tcp/vsr/VsrHeaders.java      | 145 +++
 .../iggy/client/async/tcp/vsr/VsrLoginCodec.java   | 128 +++
 .../iggy/client/async/tcp/vsr/VsrNamespace.java    | 184 ++++
 .../iggy/client/async/tcp/vsr/VsrOperation.java    | 189 ++++
 .../client/async/tcp/vsr/VsrRequestEncoder.java    | 114 +++
 .../client/async/tcp/vsr/VsrResponseHandler.java   | 261 ++++++
 .../iggy/client/blocking/ConsumerGroupsClient.java |  11 +
 .../iggy/client/blocking/MessagesClient.java       |   9 +-
 .../blocking/http/ConsumerGroupsHttpClient.java    |   6 +
 .../client/blocking/http/MessagesHttpClient.java   |  10 +-
 .../blocking/tcp/ConsumerGroupsTcpClient.java      |   6 +
 .../client/blocking/tcp/IggyTcpClientBuilder.java  |  11 -
 .../client/blocking/tcp/MessagesTcpClient.java     |   6 +-
 ...upDetails.java => ConsumerGroupAssignment.java} |  24 +-
 .../org/apache/iggy/exception/IggyErrorCode.java   |   9 +-
 .../iggy/exception/IggyValidationException.java    |   1 +
 .../main/java/org/apache/iggy/hash/XxHash32.java   | 102 +++
 .../{PolledMessages.java => SendConfirmation.java} |  12 +-
 ...lledMessages.java => SendMessagesResponse.java} |  16 +-
 .../org/apache/iggy/serde/BytesDeserializer.java   |  52 ++
 .../java/org/apache/iggy/serde/CommandCode.java    |   3 +-
 .../apache/iggy/client/BaseIntegrationTest.java    |  20 +
 .../client/async/AsyncClientIntegrationTest.java   |   3 +-
 .../client/async/AsyncConnectionPoolAuthTest.java  |  36 +-
 .../iggy/client/async/AsyncConsumerGroupsTest.java |  20 +-
 .../async/tcp/AsyncIggyTcpClientBuilderTest.java   |  88 +-
 .../tcp/AsyncIggyTcpClientLoginRoutingTest.java    | 180 ++++
 .../AsyncIggyTcpClientTransientFailoverTest.java   | 337 +++++++
 .../tcp/AsyncTcpConnectionConcurrencyTest.java     | 409 +++++++++
 .../async/tcp/AsyncTcpConnectionHeartbeatTest.java | 132 +++
 .../tcp/AsyncTcpConnectionRequestTimeoutTest.java  | 125 +++
 .../client/async/tcp/ClientRoutingStateTest.java   | 251 ++++++
 .../client/async/tcp/IggyFrameDecoderTest.java     | 455 ----------
 .../client/async/tcp/IggyResponseHandlerTest.java  |  60 --
 .../client/async/tcp/LoginRoutingHookTest.java     |  95 ++
 .../iggy/client/async/tcp/ReconnectPlanTest.java   |  66 ++
 .../client/async/tcp/vsr/VsrFrameDecoderTest.java  | 118 +++
 .../async/tcp/vsr/VsrRequestEncoderTest.java       | 316 +++++++
 .../async/tcp/vsr/VsrResponseHandlerTest.java      | 334 +++++++
 .../blocking/ConsumerOffsetsClientBaseTest.java    |   4 +-
 .../client/blocking/MessagesClientBaseTest.java    | 108 ++-
 .../iggy/client/blocking/SystemClientBaseTest.java |   2 +
 .../iggy/client/blocking/UsersClientBaseTest.java  |   3 +-
 .../blocking/tcp/ConsumerGroupsTcpClientTest.java  |  86 ++
 .../blocking/tcp/IggyTcpClientBuilderTest.java     |  16 -
 .../client/blocking/tcp/MessagesTcpClientTest.java |  31 +
 .../apache/iggy/exception/IggyErrorCodeTest.java   |   9 +-
 .../iggy/exception/IggyServerExceptionTest.java    |   9 +
 .../exception/IggyValidationExceptionTest.java     |   2 +
 .../java/org/apache/iggy/hash/XxHash32Test.java    |  73 ++
 .../apache/iggy/serde/BytesDeserializerTest.java   | 146 +++
 foreign/python/Cargo.toml                          |   1 +
 foreign/python/README.md                           |  36 +
 foreign/python/apache_iggy.pyi                     | 263 ++++--
 foreign/python/src/client.rs                       | 135 +--
 foreign/python/src/config.rs                       | 423 +++++++++
 foreign/python/src/consumer.rs                     |  51 +-
 foreign/python/src/duration.rs                     |  65 ++
 foreign/python/src/lib.rs                          |   8 +-
 foreign/python/src/receive_message.rs              |   2 +-
 foreign/python/src/send_message.rs                 |   2 -
 foreign/python/src/topic.rs                        |  33 +-
 foreign/python/tests/conftest.py                   |   5 +
 foreign/python/tests/test_client_config.py         | 459 ++++++++++
 scripts/run-bdd-tests.sh                           |  21 +-
 scripts/run-examples-from-readme.sh                |  14 +-
 scripts/utils.sh                                   |  14 +-
 205 files changed, 16231 insertions(+), 2703 deletions(-)
 delete mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/Fixtures/IggyClusterFixture.cs
 copy foreign/csharp/{Iggy_SDK/Contracts/ClusterNodeRole.cs => Iggy_SDK.Tests.Integration/Fixtures/RedirectionClusterFixture.cs} (67%)
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/Fixtures/VsrCluster.cs
 copy foreign/csharp/Iggy_SDK.Tests.Integration/{Attributes/SkipHttpAttribute.cs => Helpers/Eventually.cs} (50%)
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/Vsr/VsrConsumerGroupTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/Vsr/VsrHandshakeTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/Vsr/VsrMessagingTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/Vsr/VsrMetadataTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/SendMessagesResponse.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Exceptions/VsrRequestOutcomeUnknownException.cs
 copy foreign/csharp/Iggy_SDK/Exceptions/{ConsumerGroupNotFoundException.cs => VsrSessionEvictedException.cs} (52%)
 create mode 100644 foreign/csharp/Iggy_SDK/IggyClient/Implementations/TcpMessageStream.Vsr.cs
 create mode 100644 foreign/csharp/Iggy_SDK/IggyClient/Implementations/TransientHttpRetryHandler.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Utils/ServerAddress.cs
 copy foreign/csharp/Iggy_SDK/{Enums/ConsumerType.cs => Vsr/Command2.cs} (72%)
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/ConsumerGroupClientState.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/CredentialBounds.cs
 copy foreign/csharp/Iggy_SDK/{Configuration/AutoLoginSettings.cs => Vsr/EvictionReason.cs} (55%)
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/LoginRegister.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/SyncConsumerGroup.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/VsrError.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/VsrNamespace.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/VsrReplyDecoder.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/ClientTests/IggyClientFactoryTests.cs
 copy foreign/csharp/{Iggy_SDK/JsonConverters/ConsumerConverter.cs => Iggy_SDK_Tests/PublisherTests/IggyPublisherBuilderTests.cs} (51%)
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/ConsensusSessionTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/ConsumerGroupClientStateTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/CredentialBoundsTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/LoginRegisterTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/ServerAddressTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/SyncConsumerGroupTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrNamespaceTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrProtocolDriftTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrReplyDecoderTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrTestPayloads.cs
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/ClientRoutingState.java
 delete mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/IggyFrameDecoder.java
 delete mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/IggyFrameEncoder.java
 rename foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/{LoginRedirectionHook.java => LoginRoutingHook.java} (56%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/ReconnectPlan.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/ConsensusSession.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/VsrFrameDecoder.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/VsrHeaders.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/VsrLoginCodec.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/VsrNamespace.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/VsrOperation.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/VsrRequestEncoder.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/vsr/VsrResponseHandler.java
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/{ConsumerGroupDetails.java => ConsumerGroupAssignment.java} (57%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/hash/XxHash32.java
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/message/{PolledMessages.java => SendConfirmation.java} (63%)
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/message/{PolledMessages.java => SendMessagesResponse.java} (63%)
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientLoginRoutingTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientTransientFailoverTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncTcpConnectionConcurrencyTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncTcpConnectionHeartbeatTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncTcpConnectionRequestTimeoutTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/ClientRoutingStateTest.java
 delete mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/IggyFrameDecoderTest.java
 delete mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/IggyResponseHandlerTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/LoginRoutingHookTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/ReconnectPlanTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/vsr/VsrFrameDecoderTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/vsr/VsrRequestEncoderTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/vsr/VsrResponseHandlerTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/hash/XxHash32Test.java
 create mode 100644 foreign/python/src/config.rs
 create mode 100644 foreign/python/src/duration.rs
 create mode 100644 foreign/python/tests/test_client_config.py