This is an automated email from the ASF dual-hosted git repository.
spetz pushed a change to branch shard_reconcilation_loop_redispatch_fix
in repository https://gitbox.apache.org/repos/asf/iggy.git
from 4bae9d7c4 fix doctest
add 8b7dbd9c6 chore(deps): Bump the go group across 2 directories with 2
updates (#3990)
add a1df38354 test(partitions): gate the persist-retry test on Linux
(#3998)
add 31b86ff2a fix(server)!: reject a wildcard bind with no advertised
address (#3923)
add dde679aea ci(python): fold the build task into test and check the stub
(#3980)
add 3e4898ac6 fix(bdd): resolve server address and credentials only from
env (#3935)
add e80992b63 chore(deps): Bump the java group across 3 directories with
17 updates (#3966)
add dc1cdf232 fix(sdk): respect max_buffer_size when merging batches
(#3933)
add 6ef0c1677 feat(sdk): consume the request counter for partition
operations (#3958)
add e9b1c9a12 fix(cluster): stop a late partition materialiser from
wedging its group (#4007)
add bb973973d chore(deps): Bump the csharp group with 1 update (#4011)
add b1b911ffb fix(sdk): stream should terminate after consumer shutdown
(#3964)
add 72b5995c5 docs(repo): add repo-wide team-review agent skill (#4004)
add 328b28974 fix(journal): reject recovery slot collisions (#4009)
add 8c4986ac5 fix(io_uring): keep shard startup off blocking fallbacks
add 07356cb1c Merge branch 'master' into
shard_reconcilation_loop_redispatch_fix
No new revisions were added by this update.
Summary of changes:
.claude/skills/team-review/SKILL.md | 117 ++++++
.devcontainer/devcontainer.json | 3 +-
.github/actions/go/pre-merge/action.yml | 2 +
.github/actions/php/pre-merge/action.yml | 10 +-
.../actions/python-maturin/pre-merge/action.yml | 50 ++-
.github/config/components.yml | 2 +-
.github/workflows/coverage-baseline.yml | 4 +
AGENTS.md | 17 +-
Cargo.lock | 14 +-
Cargo.toml | 8 +-
README.md | 2 +-
.../features/step_definitions/background_steps.cpp | 15 +-
bdd/docker-compose.server.yml | 4 +
bdd/docker-compose.yml | 9 +-
bdd/go/go.mod | 4 +-
bdd/go/go.sum | 19 +-
bdd/go/tests/basic_messaging.go | 10 +-
bdd/go/tests/env/env.go | 55 +++
bdd/go/tests/leader_redirection.go | 26 +-
bdd/go/tests/raw_command.go | 11 +-
bdd/go/tests/tcp_test/session_feature_login.go | 7 +-
bdd/go/tests/tcp_test/test_helpers.go | 11 +-
bdd/java/Dockerfile | 2 +-
bdd/java/build.gradle.kts | 10 +-
bdd/java/gradle/wrapper/gradle-wrapper.properties | 2 +-
bdd/java/gradlew | 4 +-
.../org/apache/iggy/bdd/BasicMessagingSteps.java | 11 +-
.../apache/iggy/bdd/LeaderRedirectionSteps.java | 15 +-
.../java/org/apache/iggy/bdd/TestEnvironment.java | 59 +++
bdd/php/Dockerfile | 2 -
bdd/php/tests/BasicMessagingFeatureTest.php | 5 +-
bdd/php/tests/RawCommandFeatureTest.php | 7 +-
bdd/php/tests/TestEnvironment.php | 53 +++
bdd/python/tests/conftest.py | 24 +-
bdd/python/tests/test_basic_messaging.py | 4 +-
bdd/python/tests/test_raw_command.py | 4 +-
bdd/python/uv.lock | 2 +-
bdd/rust/tests/helpers/cluster.rs | 17 +-
.../rust/tests/helpers/env.rs | 57 ++-
bdd/rust/tests/helpers/mod.rs | 1 +
bdd/rust/tests/steps/auth.rs | 3 +-
bdd/rust/tests/steps/leader_redirection.rs | 3 +-
bdd/rust/tests/steps/server.rs | 5 +-
core/ai/mcp/Cargo.toml | 2 +-
core/bench/Cargo.toml | 2 +-
core/binary_protocol/Cargo.toml | 2 +-
core/binary_protocol/src/consensus/header.rs | 4 +-
.../create_partitions_with_assignments.rs | 44 +++
.../topics/create_topic_with_assignments.rs | 46 +++
core/cli/Cargo.toml | 2 +-
core/common/Cargo.toml | 2 +-
core/configs/src/server_config/cluster.rs | 423 +++++++++++++--------
core/configs/src/server_config/defaults.rs | 2 +
core/configs/src/server_config/metadata.rs | 4 +-
core/configs/src/server_config/mod.rs | 1 +
core/configs/src/server_config/node.rs | 89 +++++
core/configs/src/server_config/server.rs | 54 +++
core/configs/src/server_config/validators.rs | 133 +++++++
core/connectors/runtime/Cargo.toml | 2 +-
core/consensus/src/client_table.rs | 36 +-
core/consensus/src/impls.rs | 47 ++-
.../tests/cluster/client_table_adversarial.rs | 140 ++++++-
.../tests/server/cluster_metadata_advertised.rs | 80 ++++
core/integration/tests/server/mod.rs | 3 +
core/journal/src/file_storage.rs | 78 +++-
core/journal/src/prepare_journal.rs | 95 ++++-
core/message_bus/src/client_listener/mod.rs | 75 ++--
core/message_bus/src/client_listener/tcp.rs | 8 +-
core/message_bus/src/client_listener/ws.rs | 8 +-
core/message_bus/src/replica/io.rs | 4 +-
core/message_bus/tests/graceful_shutdown.rs | 4 +-
core/message_bus/tests/tcp_client_roundtrip.rs | 4 +-
core/message_bus/tests/ws_client_roundtrip.rs | 4 +-
core/metadata/src/impls/metadata.rs | 7 +
core/metadata/src/stm/authz.rs | 1 +
core/metadata/src/stm/consumer_group.rs | 1 +
core/metadata/src/stm/snapshot.rs | 33 +-
core/metadata/src/stm/stream.rs | 126 +++++-
core/partitions/src/iggy_partition.rs | 5 +-
core/sdk/Cargo.toml | 2 +-
core/sdk/src/clients/consumer.rs | 68 +++-
core/sdk/src/clients/producer_config.rs | 3 +-
core/sdk/src/clients/producer_dispatcher.rs | 146 +++++--
core/sdk/src/clients/producer_sharding.rs | 282 ++++++++++++--
core/sdk/src/quic/quic_client.rs | 4 +-
core/sdk/src/vsr.rs | 74 ++--
core/server/README.md | 11 +-
core/server/config.toml | 22 +-
core/server/src/args.rs | 4 +-
core/server/src/bootstrap.rs | 319 ++++++++++++++--
core/server/src/cluster_meta.rs | 188 +++++++--
core/server/src/dispatch.rs | 15 +-
core/server/src/http.rs | 15 +-
core/server/src/http/error.rs | 19 +-
core/server/src/http/forward.rs | 18 +-
core/server/src/http/session.rs | 5 +-
core/server/src/partition_helpers.rs | 33 +-
core/server/src/partition_reconciler.rs | 219 +++--------
core/server/src/responses.rs | 6 +-
core/shard/src/lib.rs | 11 +-
core/simulator/src/client.rs | 109 +++---
core/simulator/src/lib.rs | 223 +++++++++--
core/simulator/src/replica.rs | 6 +-
docker-compose.yml | 4 +
examples/csharp/README.md | 2 +-
examples/go/README.md | 2 +-
examples/go/go.sum | 10 +-
examples/java/README.md | 2 +-
examples/java/build.gradle.kts | 4 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 2 +-
examples/java/gradlew | 4 +-
examples/node/README.md | 5 +-
examples/python/README.md | 5 +-
examples/python/uv.lock | 2 +-
examples/rust/README.md | 2 +-
foreign/csharp/Directory.Packages.props | 2 +-
.../Iggy_SDK.Tests.BDD/Context/TestContext.cs | 6 +-
.../Iggy_SDK.Tests.BDD/Context/TestEnvironment.cs | 44 +++
.../csharp/Iggy_SDK.Tests.BDD/Context/TestHooks.cs | 3 -
foreign/csharp/Iggy_SDK.Tests.BDD/README.md | 25 +-
.../BasicMessagingOperationsSteps.cs | 3 +-
.../StepDefinitions/LeaderRedirectionSteps.cs | 6 +-
.../Fixtures/VsrCluster.cs | 1 +
foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs | 10 +-
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 6 +-
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 11 -
.../VsrTests/ConsensusSessionTests.cs | 19 +-
.../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs | 12 +-
.../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs | 5 +-
foreign/go/go.mod | 5 +-
foreign/go/go.sum | 10 +-
foreign/go/internal/vsr/envelope.go | 11 +-
foreign/go/internal/vsr/envelope_test.go | 18 +-
foreign/go/internal/vsr/header.go | 5 +-
foreign/go/internal/vsr/operation.go | 11 +-
foreign/go/internal/vsr/operation_test.go | 8 -
foreign/go/internal/vsr/protocol_parity_test.go | 3 -
foreign/go/internal/vsr/session.go | 11 +-
.../iggy-connector-flink/docker-compose.yml | 1 +
.../iggy-connector-pinot/docker-compose.yml | 1 +
foreign/java/gradle/libs.versions.toml | 16 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 2 +-
foreign/java/gradlew | 4 +-
.../client/async/tcp/vsr/ConsensusSession.java | 30 +-
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 6 +-
.../iggy/client/async/tcp/vsr/VsrOperation.java | 5 -
.../client/async/tcp/vsr/VsrRequestEncoder.java | 9 +-
.../apache/iggy/client/BaseIntegrationTest.java | 1 +
.../async/tcp/vsr/VsrRequestEncoderTest.java | 12 +-
.../async/tcp/vsr/VsrResponseHandlerTest.java | 72 ++++
foreign/node/README.md | 20 +-
foreign/node/scripts/check-vsr-protocol.mjs | 6 -
foreign/node/src/bdd/README.md | 23 +-
foreign/node/src/bdd/auth.ts | 6 +-
.../types/mod.rs => foreign/node/src/bdd/env.ts | 38 +-
foreign/node/src/wire/vsr/header.ts | 6 +-
foreign/node/src/wire/vsr/index.ts | 13 +-
foreign/node/src/wire/vsr/operation.test.ts | 3 -
foreign/node/src/wire/vsr/operation.ts | 5 -
foreign/node/src/wire/vsr/session.ts | 6 +-
foreign/node/src/wire/vsr/vsr.test.ts | 43 ++-
foreign/php/Dockerfile.test | 3 +-
foreign/php/README.md | 3 +-
foreign/php/docker-compose.test.yml | 8 +-
foreign/php/scripts/test.sh | 9 +-
foreign/php/tests/IggySdkTest.php | 2 +-
foreign/php/tests/bootstrap.php | 17 +-
foreign/python/Cargo.toml | 4 +-
foreign/python/README.md | 3 +-
foreign/python/apache_iggy.pyi | 50 +--
foreign/python/docker-compose.test.yml | 1 +
foreign/python/pyproject.toml | 2 +-
foreign/python/src/bin/stub_gen.rs | 11 +-
foreign/python/src/topic.rs | 4 +-
foreign/python/tests/test_tls.py | 1 +
foreign/python/uv.lock | 2 +-
helm/charts/iggy/README.md | 31 +-
helm/charts/iggy/README.md.gotmpl | 28 +-
helm/charts/iggy/templates/deployment.yaml | 16 +
helm/charts/iggy/values.yaml | 5 +
web/README.md | 3 +-
web/docker-compose.yml | 1 +
182 files changed, 3610 insertions(+), 1264 deletions(-)
create mode 100644 .claude/skills/team-review/SKILL.md
create mode 100644 bdd/go/tests/env/env.go
create mode 100644
bdd/java/src/test/java/org/apache/iggy/bdd/TestEnvironment.java
create mode 100644 bdd/php/tests/TestEnvironment.php
copy foreign/csharp/Iggy_SDK/Contracts/ClusterNode.cs =>
bdd/rust/tests/helpers/env.rs (50%)
create mode 100644 core/configs/src/server_config/node.rs
create mode 100644 core/integration/tests/server/cluster_metadata_advertised.rs
create mode 100644 foreign/csharp/Iggy_SDK.Tests.BDD/Context/TestEnvironment.cs
copy core/bench/report/src/types/mod.rs => foreign/node/src/bdd/env.ts (50%)