You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by ma...@apache.org on 2026/08/10 08:14:49 UTC
(iggy) branch java-vsr updated (fc0d5cfa7 -> f2c2df995)
This is an automated email from the ASF dual-hosted git repository.
mmodzelewski pushed a change to branch java-vsr
in repository https://gitbox.apache.org/repos/asf/iggy.git
from fc0d5cfa7 fixes
add 7ff58de25 feat(csharp): migrate to VSR wire protocol (#3800)
new f2c2df995 Merge branch 'master' into java-vsr
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:
.github/actions/csharp-dotnet/pre-merge/action.yml | 21 +-
.github/workflows/_test_bdd.yml | 12 +-
.github/workflows/_test_examples.yml | 10 +-
.github/workflows/coverage-baseline.yml | 17 +-
bdd/README.md | 8 +-
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 | 165 ++++
.../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 ++-
scripts/run-bdd-tests.sh | 6 +-
scripts/run-examples-from-readme.sh | 7 +-
97 files changed, 8462 insertions(+), 1237 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
(iggy) 01/01: Merge branch 'master' into java-vsr
Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
mmodzelewski pushed a commit to branch java-vsr
in repository https://gitbox.apache.org/repos/asf/iggy.git
commit f2c2df995ec2b0fbff8ad4f47b00ff7e05bdded8
Merge: fc0d5cfa7 7ff58de25
Author: Maciej Modzelewski <ma...@modzelewski.dev>
AuthorDate: Mon Aug 10 10:12:19 2026 +0200
Merge branch 'master' into java-vsr
.github/actions/csharp-dotnet/pre-merge/action.yml | 21 +-
.github/workflows/_test_bdd.yml | 12 +-
.github/workflows/_test_examples.yml | 10 +-
.github/workflows/coverage-baseline.yml | 17 +-
bdd/README.md | 8 +-
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 +-
.../Helpers/Eventually.cs | 43 +
.../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 | 165 ++++
.../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 +
...eException.cs => VsrSessionEvictedException.cs} | 22 +-
.../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 +++
.../{Utils/BufferSizes.cs => Vsr/Command2.cs} | 14 +-
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 | 47 +
.../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 ++-
scripts/run-bdd-tests.sh | 6 +-
scripts/run-examples-from-readme.sh | 7 +-
97 files changed, 8520 insertions(+), 1193 deletions(-)
diff --cc .github/workflows/_test_bdd.yml
index 8d8358f04,a423a7502..811b6b6e6
--- a/.github/workflows/_test_bdd.yml
+++ b/.github/workflows/_test_bdd.yml
@@@ -53,11 -53,11 +53,11 @@@ jobs
run: |
# The VSR lanes need the vsr feature on both the server and the CLI,
# otherwise the CLI cannot frame requests for the VSR wire protocol
-- # and the healthcheck ping fails. The Go SDK speaks only VSR and the
- # Python wheels and the Java SDK are vsr-built, so those suites are
- # Python wheels and the .NET SDK are vsr-built, so those suites are
-- # always on this branch.
++ # and the healthcheck ping fails. The Go SDK speaks only VSR, while
++ # the Python wheels, Java SDK, and .NET SDK are vsr-built, so those
++ # suites are always on this branch.
case "${{ inputs.task }}" in
- bdd-rust-vsr|bdd-go|bdd-go-race|bdd-python|bdd-node-vsr|bdd-java)
- bdd-rust-vsr|bdd-go|bdd-go-race|bdd-python|bdd-node-vsr|bdd-csharp)
++ bdd-rust-vsr|bdd-go|bdd-go-race|bdd-python|bdd-node-vsr|bdd-csharp|bdd-java)
# TODO: change to iggy-server once legacy server is removed (core/server has VSR support)
SERVER_BIN="iggy-server-ng"
echo "Building the VSR server binary and CLI (--features vsr) for BDD tests..."
@@@ -91,8 -91,8 +91,8 @@@
if: startsWith(inputs.component, 'bdd-') && startsWith(inputs.task, 'bdd-')
run: |
# Extract SDK name from task (format: bdd-<sdk>, or bdd-<sdk>-vsr
- # for an explicit vsr lane). Python and Java have no legacy
- # for an explicit vsr lane). Python and C# have no legacy lane, so
- # their plain task names run vsr.
++ # for an explicit vsr lane). Python, C#, and Java have no legacy
+ # lane, so their plain task names run vsr.
SDK_NAME=$(echo "${{ inputs.task }}" | sed 's/^bdd-//; s/-vsr$//')
EXTRA_FLAGS=()
case "${{ inputs.task }}" in
diff --cc .github/workflows/_test_examples.yml
index aa9a87734,4387c3a45..9d3e3de9d
--- a/.github/workflows/_test_examples.yml
+++ b/.github/workflows/_test_examples.yml
@@@ -113,11 -113,11 +113,11 @@@ jobs
echo "Building common binaries for all examples tests..."
echo "Current directory: $(pwd)"
-- # The Go SDK speaks only the VSR wire protocol and the Python wheels
- # and the Java SDK are vsr-built, so those lanes need the VSR server.
- # and the .NET SDK are vsr-built, so those lanes need the VSR server.
-- # Every other language still runs against the legacy one until its
-- # own migration lands.
- if [[ "${{ inputs.task }}" == "examples-go" || "${{ inputs.task }}" == "examples-python" || "${{ inputs.task }}" == "examples-java" ]]; then
- if [[ "${{ inputs.task }}" == "examples-go" || "${{ inputs.task }}" == "examples-python" || "${{ inputs.task }}" == "examples-csharp" ]]; then
++ # The Go SDK speaks only the VSR wire protocol, while the Python
++ # wheels, Java SDK, and .NET SDK are vsr-built, so those lanes need
++ # the VSR server. Every other language still runs against the legacy
++ # one until its own migration lands.
++ if [[ "${{ inputs.task }}" == "examples-go" || "${{ inputs.task }}" == "examples-python" || "${{ inputs.task }}" == "examples-csharp" || "${{ inputs.task }}" == "examples-java" ]]; then
# TODO: change to iggy-server once legacy server is removed (core/server has VSR support)
SERVER_BIN="iggy-server-ng"
echo "Building ${SERVER_BIN} (--features vsr)..."
diff --cc bdd/README.md
index b231d9008,46ee69f17..e28db3533
--- a/bdd/README.md
+++ b/bdd/README.md
@@@ -39,7 -39,7 +39,7 @@@ bdd
├── docker-compose.server.yml # Single iggy-server test setup
├── docker-compose.cluster.yml # Leader + follower test setup
├── docker-compose.coverage.yml # Coverage collection overlay
- ├── docker-compose.vsr.yml # server-ng (VSR) overlay (Rust opt-in, Java always)
-├── docker-compose.vsr.yml # server-ng (VSR) overlay (rust, python, csharp)
++├── docker-compose.vsr.yml # server-ng (VSR) overlay
├── Dockerfile # Debug build of Iggy server
└── README.md
```
@@@ -71,15 -71,16 +71,17 @@@
# Run only leader_redirection
../scripts/run-bdd-tests.sh all leader_redirection
- # Run against iggy-server-ng with VSR (opt-in for Rust via --vsr; the
- # Java suite always uses the VSR overlay). Build the vsr binaries first:
-# Run against iggy-server-ng with VSR (Rust, Python, and C# SDKs; the
-# other SDKs do not speak the VSR wire protocol yet). Python and C# are
-# vsr-built, so their plain lanes above already run vsr in CI.
-# Build the vsr binaries first:
++# Run against iggy-server-ng with VSR. Go and Java always use the VSR
++# overlay. Python and C# are vsr-built, so CI supplies --vsr for their
++# plain lanes. Rust and Node opt in with --vsr. Build the binaries first:
# cargo build --bin iggy-server-ng --bin iggy --features vsr
# NOTE: `target/debug/iggy` is shared between lanes and the vsr flavour
# speaks a different wire protocol. When switching back to the legacy
# lane, rebuild without `--features vsr` first, or the in-container
# healthcheck ping cannot talk to the legacy server.
../scripts/run-bdd-tests.sh --vsr rust
++../scripts/run-bdd-tests.sh --vsr csharp
+../scripts/run-bdd-tests.sh java
# Clean up Docker resources
../scripts/run-bdd-tests.sh clean
diff --cc scripts/run-bdd-tests.sh
index 6e5d30298,ce2ffdc5b..c95de1cb4
--- a/scripts/run-bdd-tests.sh
+++ b/scripts/run-bdd-tests.sh
@@@ -56,12 -55,9 +56,12 @@@ usage()
if [ "$VSR" = "1" ]; then
case "$SDK" in
- rust|python|go|go-race|node|clean) ;;
+ rust|python|go|go-race|node|csharp|clean) ;;
+ java)
+ # Redundant: the Java suite applies the VSR overlay unconditionally.
+ VSR=0 ;;
*)
- log "❌ --vsr supports only the Rust, Python, Go, Node, and Java SDKs so far"
- log "❌ --vsr supports only the Rust, Python, Go, Node, and C# SDKs so far"
++ log "❌ --vsr supports only the Rust, Python, Go, Node, C#, and Java SDKs so far"
usage
exit 2 ;;
esac