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