This is an automated email from the ASF dual-hosted git repository.
hubcio pushed a change to branch parallel-log-index-fsync
in repository https://gitbox.apache.org/repos/asf/iggy.git
omit 6fb6cbb03 feat(partitions): persist segment log and sparse index
concurrently
add 03f5b3034 fix(server): restore the mimalloc global allocator (#3971)
add ed59b955d chore(deps): Bump gradle from 9.6.1-jdk17 to 9.7.0-jdk17 in
/bdd/java in the docker group across 1 directory (#3972)
add 37aec0877 feat(sdk): fail over to a surviving node when the current
one dies (#3944)
add 6a1c84c39 fix(partitions): stop reserving 16 MiB per active segment
index (#3974)
add ffb186dba feat(gateways): iggy gateway for kafka listener (#3519)
add 9c6451d62 fix(consensus): keep a late retry's reply instead of
refusing it (#3945)
add 7b491c09f fix(cluster): prevent repaired prepares from rewinding WAL
parent (#3978)
add 3619fed9b feat(partitions): persist segment log and sparse index
concurrently
add 4546277f5 feat(partitions): cache the active segment's read descriptor
add 87dfcb04e fix(cluster): forward misrouted partition writes to the
primary
add 79293cf63 fix(bench): backfill latency extremes only when all three
are absent
add e478eace4 refactor(partitions): narrow segment writer save methods to
the crate
add 2d6081edb fix(server): yield during the index anchor search over a
floored index
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (6fb6cbb03)
\
N -- N -- N refs/heads/parallel-log-index-fsync (2d6081edb)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/actions/rust/pre-merge/action.yml | 38 +
.github/config/components.yml | 10 +
.github/workflows/pr-title.yml | 1 +
.gitignore | 1 +
Cargo.lock | 70 +
Cargo.toml | 2 +
bdd/java/Dockerfile | 2 +-
bdd/rust/tests/helpers/cluster.rs | 19 +
bdd/rust/tests/steps/leader_redirection.rs | 14 +-
core/bench/report/src/types/group_metrics.rs | 28 +-
core/bench/report/src/types/individual_metrics.rs | 94 +-
core/binary_protocol/src/consensus/command.rs | 15 +-
core/binary_protocol/src/consensus/header.rs | 158 +-
core/binary_protocol/src/consensus/mod.rs | 13 +-
core/binary_protocol/src/lib.rs | 11 +-
.../traits/binary_impls/personal_access_tokens.rs | 10 +-
core/common/src/traits/binary_impls/users.rs | 14 +-
core/common/src/traits/binary_transport.rs | 24 +-
.../tcp_config/tcp_client_reconnection_config.rs | 35 +-
.../configs/src/configs_impl/typed_env_provider.rs | 13 +-
core/consensus/src/client_table.rs | 254 ++-
core/consensus/src/metadata_helpers.rs | 8 +-
core/consensus/src/plane_helpers.rs | 62 +
.../tests/cluster/client_table_adversarial.rs | 56 +-
.../tests/cluster/failover_client_continuity.rs | 47 +-
core/integration/tests/cluster/mod.rs | 1 +
.../tests/cluster/partition_primary_routing.rs | 201 +++
core/integration/tests/sdk/disconnect_relogin.rs | 66 +
core/integration/tests/sdk/mod.rs | 1 +
core/journal/src/prepare_journal.rs | 40 +
core/partitions/src/iggy_index_reader.rs | 3 +-
core/partitions/src/iggy_index_writer.rs | 2 +-
core/partitions/src/iggy_partition.rs | 648 ++++++--
core/partitions/src/iggy_partitions.rs | 27 +-
core/partitions/src/log.rs | 81 +-
core/partitions/src/messages_writer.rs | 2 +-
core/partitions/src/poll_plan.rs | 83 +-
core/partitions/src/state_transfer.rs | 8 +
.../src/clients/binary_personal_access_tokens.rs | 10 +
core/sdk/src/clients/binary_users.rs | 10 +
core/sdk/src/clients/mod.rs | 33 +
core/sdk/src/leader_aware.rs | 314 +++-
core/sdk/src/quic/quic_client.rs | 11 +-
core/sdk/src/tcp/tcp_client.rs | 1746 +++++++++++++++++---
core/sdk/src/vsr.rs | 2 +-
core/sdk/src/websocket/websocket_client.rs | 11 +-
core/server/src/dispatch.rs | 5 +
core/server/src/lib.rs | 8 +
core/server/src/main.rs | 4 +
core/server/src/segment_recovery.rs | 34 +-
core/server_common/src/consensus_message.rs | 16 +-
core/shard/src/lib.rs | 59 +-
core/simulator/src/lib.rs | 155 ++
.../Iggy_SDK.Tests.Integration/HeartbeatTests.cs | 31 +-
.../Implementations/TcpMessageStream.Vsr.cs | 31 +
.../IggyClient/Implementations/TcpMessageStream.cs | 229 ++-
.../Iggy_SDK_Tests/VsrTests/DialCandidatesTests.cs | 79 +
.../VsrTests/EndpointFailoverTests.cs | 576 +++++++
foreign/csharp/README.md | 27 +-
foreign/go/client/tcp/tcp_connect_test.go | 15 +-
foreign/go/client/tcp/tcp_core.go | 426 ++++-
foreign/go/client/tcp/tcp_core_review_test.go | 13 +-
foreign/go/client/tcp/tcp_failover_test.go | 750 +++++++++
.../go/client/tcp/tcp_session_credentials_test.go | 66 +
foreign/go/client/tcp/tcp_session_management.go | 81 +-
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 323 +++-
.../iggy/client/async/tcp/AsyncTcpConnection.java | 61 +-
.../iggy/client/async/tcp/LeaderAwareness.java | 76 +-
.../iggy/client/async/tcp/LoginRoutingHook.java | 6 +
.../iggy/client/async/tcp/ReconnectPlan.java | 17 +-
.../iggy/client/async/tcp/UsersTcpClient.java | 1 +
.../client/async/tcp/vsr/VsrResponseHandler.java | 11 +-
.../AsyncIggyTcpClientEndpointFailoverTest.java | 562 +++++++
.../AsyncIggyTcpClientTransientFailoverTest.java | 197 ++-
.../tcp/AsyncTcpConnectionConcurrencyTest.java | 4 +-
.../iggy/client/async/tcp/LeaderAwarenessTest.java | 99 +-
.../iggy/client/async/tcp/ReconnectPlanTest.java | 18 -
.../async/tcp/vsr/VsrResponseHandlerTest.java | 10 +-
foreign/node/src/client/client.connection.test.ts | 359 ++++
foreign/node/src/client/client.connection.ts | 262 ++-
foreign/node/src/client/client.socket.test.ts | 485 +++++-
foreign/node/src/client/client.socket.ts | 360 +++-
foreign/node/src/client/client.type.ts | 26 +-
foreign/python/apache_iggy.pyi | 19 +-
foreign/python/src/config.rs | 19 +-
gateways/README.md | 9 +
{core/bench => gateways/kafka}/Cargo.toml | 57 +-
gateways/kafka/README.md | 63 +
gateways/kafka/docs/MANUAL_TESTING.md | 307 ++++
gateways/kafka/docs/SCOPE.md | 138 ++
gateways/kafka/docs/TEST_SUITE.md | 66 +
gateways/kafka/docs/kafka_api_keys_reference.md | 316 ++++
gateways/kafka/scripts/ci-wire-fixtures.sh | 57 +
gateways/kafka/src/error.rs | 45 +
.../steps/mod.rs => gateways/kafka/src/lib.rs | 12 +-
gateways/kafka/src/main.rs | 240 +++
gateways/kafka/src/protocol/api.rs | 637 +++++++
gateways/kafka/src/protocol/bounds_guard.rs | 906 ++++++++++
gateways/kafka/src/protocol/header.rs | 40 +
.../helpers => gateways/kafka/src/protocol}/mod.rs | 6 +-
gateways/kafka/src/protocol/responses.rs | 318 ++++
gateways/kafka/src/server.rs | 896 ++++++++++
gateways/kafka/tests/api_handler_tests.rs | 989 +++++++++++
gateways/kafka/tests/broker_advertise_tests.rs | 117 ++
gateways/kafka/tests/common/codec.rs | 292 ++++
gateways/kafka/tests/common/fixtures.rs | 91 +
.../kafka/tests/common/scope.rs | 26 +-
gateways/kafka/tests/common/server.rs | 68 +
gateways/kafka/tests/common/tcp.rs | 258 +++
gateways/kafka/tests/common/wire.rs | 447 +++++
.../kafka/tests/fixtures_canary_tests.rs | 36 +-
gateways/kafka/tests/golden_wire_fixtures_tests.rs | 122 ++
gateways/kafka/tests/header_tests.rs | 282 ++++
gateways/kafka/tests/listener_robustness_tests.rs | 624 +++++++
gateways/kafka/tests/response_negative_tests.rs | 277 ++++
gateways/kafka/tests/server_e2e_tests.rs | 451 +++++
gateways/kafka/tests/server_integration_tests.rs | 129 ++
gateways/kafka/tests/version_firewall_tests.rs | 799 +++++++++
.../kafka/tools/kafka-tool}/Cargo.toml | 20 +-
gateways/kafka/tools/kafka-tool/README.md | 251 +++
gateways/kafka/tools/kafka-tool/src/main.rs | 864 ++++++++++
gateways/kafka/tools/kafka-tool/src/response.rs | 389 +++++
.../tools/kafka-tool/tests/generate_cli_tests.rs | 82 +
scripts/ci/coverage-baseline-affected.sh | 2 +-
124 files changed, 19555 insertions(+), 993 deletions(-)
create mode 100644 core/integration/tests/cluster/partition_primary_routing.rs
create mode 100644 core/integration/tests/sdk/disconnect_relogin.rs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/DialCandidatesTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/EndpointFailoverTests.cs
create mode 100644 foreign/go/client/tcp/tcp_failover_test.go
create mode 100644 foreign/go/client/tcp/tcp_session_credentials_test.go
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientEndpointFailoverTest.java
create mode 100644 gateways/README.md
copy {core/bench => gateways/kafka}/Cargo.toml (54%)
create mode 100644 gateways/kafka/README.md
create mode 100644 gateways/kafka/docs/MANUAL_TESTING.md
create mode 100644 gateways/kafka/docs/SCOPE.md
create mode 100644 gateways/kafka/docs/TEST_SUITE.md
create mode 100644 gateways/kafka/docs/kafka_api_keys_reference.md
create mode 100755 gateways/kafka/scripts/ci-wire-fixtures.sh
create mode 100644 gateways/kafka/src/error.rs
copy bdd/rust/tests/steps/mod.rs => gateways/kafka/src/lib.rs (85%)
create mode 100644 gateways/kafka/src/main.rs
create mode 100644 gateways/kafka/src/protocol/api.rs
create mode 100644 gateways/kafka/src/protocol/bounds_guard.rs
create mode 100644 gateways/kafka/src/protocol/header.rs
copy {bdd/rust/tests/helpers => gateways/kafka/src/protocol}/mod.rs (91%)
create mode 100644 gateways/kafka/src/protocol/responses.rs
create mode 100644 gateways/kafka/src/server.rs
create mode 100644 gateways/kafka/tests/api_handler_tests.rs
create mode 100644 gateways/kafka/tests/broker_advertise_tests.rs
create mode 100644 gateways/kafka/tests/common/codec.rs
create mode 100644 gateways/kafka/tests/common/fixtures.rs
copy bdd/rust/tests/stream_crud.rs => gateways/kafka/tests/common/scope.rs
(60%)
create mode 100644 gateways/kafka/tests/common/server.rs
create mode 100644 gateways/kafka/tests/common/tcp.rs
create mode 100644 gateways/kafka/tests/common/wire.rs
copy foreign/csharp/Iggy_SDK_Tests/Utils/DummyObj/DummyObjFactory.cs =>
gateways/kafka/tests/fixtures_canary_tests.rs (51%)
create mode 100644 gateways/kafka/tests/golden_wire_fixtures_tests.rs
create mode 100644 gateways/kafka/tests/header_tests.rs
create mode 100644 gateways/kafka/tests/listener_robustness_tests.rs
create mode 100644 gateways/kafka/tests/response_negative_tests.rs
create mode 100644 gateways/kafka/tests/server_e2e_tests.rs
create mode 100644 gateways/kafka/tests/server_integration_tests.rs
create mode 100644 gateways/kafka/tests/version_firewall_tests.rs
copy {core/bench/runner => gateways/kafka/tools/kafka-tool}/Cargo.toml (73%)
create mode 100644 gateways/kafka/tools/kafka-tool/README.md
create mode 100644 gateways/kafka/tools/kafka-tool/src/main.rs
create mode 100644 gateways/kafka/tools/kafka-tool/src/response.rs
create mode 100644 gateways/kafka/tools/kafka-tool/tests/generate_cli_tests.rs