This is an automated email from the ASF dual-hosted git repository.
slbotbm pushed a change to branch cpp-coverage
in repository https://gitbox.apache.org/repos/asf/iggy.git
omit 0f1eefd91 add coverage for cpp
add 1290e4fff chore(deps): remove Microsoft.SourceLink.GitHub package
reference (#4113)
add 7a77f4592 fix(connectors): use DLL_EXTENSION for plugin path suffix
(#4114)
add 62f945a34 chore: add justinmclean to .asf.yaml collaborators (#4115)
add 46a907596 fix(connectors): bring quickwit_sink up to convention (#3523)
add df4c75d34 feat(python): expose partition management (#4017)
add 3f0646fce chore(ci): add team-review-slim, cheaper team-review and
plain english (#4095)
add e9f3362e3 feat(connectors)!: add shared retry_async helper to the
connector SDK (#4104)
add d693eb93d test(integration): cleanup & drop the doris nextest
test-group (#4116)
add d75890f67 fix(repo): include gateways so the source release tarball
builds (#4126)
add e0027506f feat(cluster)!: let topics require durable acks and flatten
config (#4092)
add f87ef77c3 chore(deps): Bump js-yaml from 4.3.1 to 4.3.2 in
/foreign/node (#4107)
add e37396b1c chore(deps): Bump joi from 17.13.4 to 17.13.7 in /web (#4106)
add 73a0bed8b fix(consensus): count an unservable header as a nack (#4109)
add ff2e7481c fix(shard): refuse a frame no consensus plane claims (#4103)
add 91c3ca54b test(simulator): cover durability failures no existing test
can reach (#4132)
add dc2b38209 fix(integration): pull MinIO fixtures from quay instead of
Docker Hub (#4148)
add fce3c94df cpp coverage
add a60cc7f37 clean up
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 (0f1eefd91)
\
N -- N -- N refs/heads/cpp-coverage (a60cc7f37)
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:
.asf.yaml | 3 +
.claude/skills/connector-sdk/SKILL.md | 6 +-
.claude/skills/connector-sink/SKILL.md | 3 +-
.claude/skills/team-review-slim/SKILL.md | 230 ++
.claude/skills/team-review/SKILL.md | 184 +-
.config/nextest.toml | 15 -
.github/actions/go/pre-merge/action.yml | 8 +-
.github/actions/java-gradle/pre-merge/action.yml | 4 +-
.github/config/components.yml | 1 +
Cargo.lock | 25 +-
Cargo.toml | 10 +-
README.md | 34 +-
bdd/docker-compose.cluster.yml | 4 +-
bdd/docker-compose.server.yml | 2 +-
bdd/python/uv.lock | 2 +-
core/ai/mcp/Cargo.toml | 2 +-
core/bench/Cargo.toml | 2 +-
core/bench/README.md | 60 +
core/bench/dashboard/frontend/index.html | 2 +-
core/bench/src/args/common.rs | 31 +-
core/bench/src/args/defaults.rs | 6 +-
core/bench/src/args/examples.rs | 355 ++-
.../kinds/balanced/producer_and_consumer_group.rs | 4 +-
.../kinds/end_to_end/producing_consumer_group.rs | 2 +-
core/bench/src/args/kinds/pinned/consumer.rs | 6 +-
core/bench/src/args/transport.rs | 21 +-
core/bench/src/benchmarks/benchmark.rs | 9 +-
core/bench/src/utils/mod.rs | 116 +-
core/binary_protocol/Cargo.toml | 2 +-
core/binary_protocol/src/consensus/operation.rs | 40 +
core/binary_protocol/src/primitives/options.rs | 27 +-
core/cli/Cargo.toml | 2 +-
core/cli/src/args/topic.rs | 69 +
.../cli/src/commands/binary_topics/create_topic.rs | 10 +-
core/cli/src/main.rs | 2 +
core/common/Cargo.toml | 2 +-
core/common/src/traits/message_client.rs | 6 +-
.../{cluster/role.rs => options/durability.rs} | 47 +-
core/common/src/types/options/mod.rs | 297 +-
core/configs/src/common/defaults.rs | 90 +-
core/configs/src/common/displays.rs | 50 +-
core/configs/src/common/mod.rs | 2 +-
core/configs/src/common/server.rs | 2 +-
core/configs/src/common/system.rs | 219 +-
core/configs/src/common/validators.rs | 40 +-
core/configs/src/configs_impl/file_provider.rs | 168 +-
core/configs/src/configs_impl/mod.rs | 2 +-
.../configs/src/configs_impl/typed_env_provider.rs | 2 +-
core/configs/src/lib.rs | 2 +-
core/configs/src/server_config/defaults.rs | 16 +-
core/configs/src/server_config/displays.rs | 18 +-
core/configs/src/server_config/partition.rs | 71 +-
core/configs/src/server_config/server.rs | 259 +-
core/configs/src/server_config/sharding.rs | 16 +-
core/configs/src/server_config/validators.rs | 57 +-
.../example_config/connectors/quickwit_sink.toml | 22 +-
.../src/configs/connectors/local_provider.rs | 136 +-
core/connectors/runtime/src/main.rs | 12 +-
core/connectors/sdk/Cargo.toml | 7 +-
core/connectors/sdk/README.md | 19 +-
core/connectors/sdk/src/retry.rs | 589 +++-
core/connectors/sinks/doris_sink/src/lib.rs | 59 +-
core/connectors/sinks/influxdb_sink/README.md | 6 +-
core/connectors/sinks/influxdb_sink/src/lib.rs | 11 +-
core/connectors/sinks/meilisearch_sink/src/lib.rs | 42 +-
core/connectors/sinks/quickwit_sink/Cargo.toml | 10 +-
core/connectors/sinks/quickwit_sink/README.md | 64 +-
core/connectors/sinks/quickwit_sink/config.toml | 9 +
core/connectors/sinks/quickwit_sink/src/lib.rs | 957 +++++-
core/connectors/sinks/rabbitmq_sink/src/lib.rs | 14 +-
core/connectors/sinks/s3_sink/src/sink.rs | 6 +-
core/connectors/sinks/surrealdb_sink/src/lib.rs | 8 +-
core/connectors/sources/influxdb_source/README.md | 4 +-
core/connectors/sources/influxdb_source/src/lib.rs | 11 +-
core/consensus/src/dvc_merge.rs | 86 +-
core/consensus/src/impls.rs | 257 +-
core/consensus/src/plane_helpers.rs | 379 ++-
core/harness_derive/src/attrs.rs | 2 +-
core/integration/src/harness/config/resolve.rs | 40 +-
core/integration/src/harness/disk.rs | 13 +-
core/integration/src/harness/handle/server.rs | 24 +-
.../src/harness/orchestrator/builder.rs | 4 +-
.../tests/cli/topic/test_topic_create_command.rs | 30 +-
core/integration/tests/cluster/crash_durability.rs | 376 ++-
.../tests/cluster/crash_recovery_corruption.rs | 227 +-
.../tests/cluster/failover_client_continuity.rs | 2 +-
.../tests/cluster/fast_primary_rejoin.rs | 2 +-
.../tests/cluster/metadata_checkpoint_restart.rs | 2 +-
.../cluster/multi_shard_partition_convergence.rs | 4 +-
.../tests/cluster/parked_frame_redispatch.rs | 8 +-
core/integration/tests/cluster/partition_dedup.rs | 12 +-
.../tests/cluster/partition_state_transfer.rs | 6 +-
.../tests/cluster/register_forwarding.rs | 14 +-
.../tests/cluster/staggered_bootstrap.rs | 49 +-
core/integration/tests/config_provider/mod.rs | 6 +-
.../tests/connectors/fixtures/delta/fixture.rs | 4 +-
.../tests/connectors/fixtures/iceberg/container.rs | 4 +-
core/integration/tests/connectors/fixtures/mod.rs | 5 +-
.../connectors/fixtures/quickwit/container.rs | 86 +-
.../tests/connectors/fixtures/quickwit/mod.rs | 5 +-
.../connectors/fixtures/redshift/container.rs | 2 +-
.../tests/connectors/fixtures/redshift/sink.rs | 4 +-
.../tests/connectors/fixtures/s3/fixture.rs | 2 +-
.../tests/connectors/quickwit/quickwit_sink.rs | 128 +-
.../tests/data_integrity/storage_compat.rs | 228 +-
core/integration/tests/sdk/options.rs | 15 +-
core/integration/tests/server/a2a_jwt/config.toml | 33 +-
.../tests/server/cluster_metadata_vsr.rs | 2 +-
.../tests/server/cluster_view_durability_vsr.rs | 2 +-
.../tests/server/http_read_your_writes.rs | 4 +-
core/integration/tests/server/http_view_header.rs | 4 +-
core/integration/tests/server/http_vsr.rs | 158 +-
core/integration/tests/server/message_retrieval.rs | 2 +-
.../tests/server/partition_view_durability_vsr.rs | 2 +-
.../concurrent_produce_consume_scenario.rs | 2 +-
...h_multiple_clients_polling_messages_scenario.rs | 6 +-
.../tests/server/scenarios/encryption_scenario.rs | 9 +-
.../server/scenarios/log_rotation_scenario.rs | 8 +-
.../server/scenarios/message_cleanup_scenario.rs | 156 +-
.../server/scenarios/purge_delete_scenario.rs | 2 +-
.../scenarios/read_during_persistence_scenario.rs | 2 +-
.../scenarios/reconnect_after_restart_scenario.rs | 4 +-
.../scenarios/restart_offset_skip_scenario.rs | 2 +-
core/journal/Cargo.toml | 6 +-
core/journal/src/durable_storage.rs | 452 +++
core/journal/src/lib.rs | 4 +
core/journal/src/partition_journal.rs | 2993 +++++++++++++++++++
core/journal/src/partition_journal/segments.rs | 848 ++++++
core/metadata/src/impls/metadata.rs | 32 +-
core/metadata/src/stm/stream.rs | 24 +-
core/partitions/Cargo.toml | 4 +-
core/partitions/src/iggy_partition.rs | 3069 ++++++++++++++++++--
core/partitions/src/iggy_partitions.rs | 17 +-
core/partitions/src/install_backup.rs | 213 ++
core/partitions/src/journal.rs | 26 +-
core/partitions/src/lib.rs | 5 +
core/partitions/src/messages_writer.rs | 58 +-
core/partitions/src/offset_storage.rs | 69 +-
core/partitions/src/persistence.rs | 1547 ++++++++++
core/partitions/src/state_transfer.rs | 526 +++-
core/partitions/src/types.rs | 24 +-
core/sdk/Cargo.toml | 2 +-
core/sdk/src/http/messages.rs | 99 +-
core/sdk/src/http/topics.rs | 2 +-
core/sdk/src/prelude.rs | 8 +-
core/server/Cargo.toml | 2 +-
core/server/config.toml | 277 +-
core/server/src/args.rs | 6 +-
core/server/src/boot/credentials.rs | 2 +-
core/server/src/boot/listeners.rs | 2 +-
core/server/src/boot/mod.rs | 49 +-
core/server/src/boot/recovery.rs | 84 +-
core/server/src/boot/threads.rs | 11 +-
core/server/src/config_writer.rs | 2 +-
core/server/src/consumer_group.rs | 643 +++-
core/server/src/dispatch/failure.rs | 6 +-
core/server/src/dispatch/mod.rs | 57 +-
core/server/src/dispatch/partition.rs | 251 +-
core/server/src/dispatch/reads.rs | 10 +-
core/server/src/dispatch/session_ops.rs | 3 +-
core/server/src/dispatch/test_support.rs | 3 +-
core/server/src/http.rs | 6 +-
core/server/src/http/handlers.rs | 53 +-
core/server/src/http/reads.rs | 221 ++
core/server/src/http/state.rs | 4 +-
core/server/src/main.rs | 3 +-
core/server/src/partition_helpers.rs | 557 +++-
core/server/src/partition_reconciler.rs | 39 +-
core/server/src/responses.rs | 15 +-
core/server/src/segment_recovery.rs | 353 ++-
core/server/src/server_error.rs | 66 +-
core/server/src/snapshot.rs | 28 +-
core/server/tests/sdk_e2e.rs | 4 +-
core/server_common/src/fs_utils.rs | 46 +
core/server_common/src/iobuf.rs | 4 +
.../src/segment_storage/messages_reader.rs | 13 +-
core/server_common/src/segment_storage/mod.rs | 55 +
core/server_common/src/send_messages.rs | 6 +-
core/shard/src/lib.rs | 621 +++-
core/shard/src/metrics.rs | 158 +-
core/shard/src/router.rs | 21 +
core/simulator/Cargo.toml | 1 +
core/simulator/src/lib.rs | 358 ++-
core/simulator/src/replica.rs | 9 +-
core/simulator/src/storage.rs | 671 +++++
core/simulator/src/storage/tests.rs | 2849 ++++++++++++++++++
core/simulator/src/workload/invariants.rs | 30 +
examples/node/package-lock.json | 2 +-
examples/python/uv.lock | 2 +-
foreign/cpp/.bazelrc | 16 +-
foreign/cpp/BUILD.bazel | 6 +-
foreign/cpp/Cargo.toml | 2 +-
foreign/cpp/MODULE.bazel | 2 +-
foreign/cpp/include/iggy.hpp | 32 +-
foreign/cpp/src/client.rs | 31 +-
foreign/cpp/src/lib.rs | 5 +-
foreign/cpp/tests/e2e/topic.cpp | 25 +-
foreign/cpp/tests/unit/unit_tests.cpp | 23 +-
foreign/csharp/Directory.Build.props | 4 -
foreign/csharp/Directory.Packages.props | 1 -
.../Fixtures/VsrCluster.cs | 4 +-
.../Iggy_SDK.Tests.Integration/OptionsTests.cs | 21 +-
.../Iggy_SDK/Contracts/SendMessagesResponse.cs | 4 +-
foreign/csharp/Iggy_SDK/Contracts/TopicOptions.cs | 42 +-
.../Iggy_SDK/Enums/{Protocol.cs => Durability.cs} | 19 +-
.../Implementations/HttpMessageStream.cs | 2 +
.../IggyClient/Implementations/TcpMessageStream.cs | 2 +
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
.../ClientTests/HttpTopicOptionsTests.cs | 17 +-
.../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs | 4 +-
.../MapperTests/OptionsBlockGoldenVectorTests.cs | 26 +-
.../MapperTests/ResourceOptionsConverterTests.cs | 8 +-
.../UtilityTests/TopicOptionsTests.cs | 20 +-
foreign/go/README.md | 2 +-
foreign/go/contracts/compression_algorithm_test.go | 14 +-
foreign/go/contracts/topic_options.go | 19 +-
foreign/go/contracts/topic_options_test.go | 24 +-
foreign/go/contracts/version.go | 2 +-
foreign/go/internal/command/topic.go | 20 +-
foreign/go/internal/command/topic_test.go | 20 +-
foreign/go/tests/e2e_helpers_test.go | 2 +-
foreign/go/tests/e2e_test.go | 18 +-
.../iggy-connector-flink/docker-compose.yml | 2 +-
.../iggy-connector-pinot/docker-compose.yml | 2 +-
.../connector/pinot/IggyPinotIntegrationTest.java | 2 +-
foreign/java/gradle.properties | 2 +-
.../iggy/client/async/tcp/TopicsTcpClient.java | 8 +-
.../client/blocking/http/TopicsHttpClient.java | 2 +-
.../java/org/apache/iggy/topic/Durability.java} | 15 +-
.../java/org/apache/iggy/topic/TopicOptions.java | 37 +-
.../apache/iggy/client/BaseIntegrationTest.java | 2 +-
.../iggy/client/blocking/SystemClientBaseTest.java | 2 +-
.../iggy/client/blocking/TopicsClientBaseTest.java | 12 +-
.../client/blocking/tcp/TopicsTcpClientTest.java | 4 +-
.../iggy/serde/OptionsBlockGoldenVectorTest.java | 16 +-
.../org/apache/iggy/topic/TopicOptionsTest.java | 20 +-
foreign/node/package-lock.json | 10 +-
foreign/node/package.json | 2 +-
.../node/src/wire/message/send-messages.command.ts | 5 +-
foreign/node/src/wire/options.utils.test.ts | 15 +-
.../src/wire/topic/create-topic.command.test.ts | 42 +-
.../node/src/wire/topic/create-topic.command.ts | 27 +-
foreign/node/src/wire/topic/index.ts | 2 +-
foreign/node/src/wire/topic/topic.utils.ts | 7 +
foreign/php/Cargo.toml | 2 +-
foreign/php/iggy-php.stubs.php | 15 +-
foreign/php/src/client.rs | 7 +-
.../Auth/AuthResponse.cs => php/src/durability.rs} | 27 +-
foreign/php/src/lib.rs | 2 +
foreign/php/src/send_message.rs | 5 +-
foreign/python/Cargo.toml | 4 +-
foreign/python/apache_iggy.pyi | 83 +-
foreign/python/pyproject.toml | 2 +-
foreign/python/src/bin/stub_gen.rs | 8 +-
foreign/python/src/client.rs | 220 +-
foreign/python/src/durability.rs | 58 +
foreign/python/src/lib.rs | 4 +-
foreign/python/src/send_message.rs | 10 +-
foreign/python/tests/test_partition.py | 228 ++
foreign/python/tests/test_topic.py | 21 +-
foreign/python/uv.lock | 2 +-
helm/charts/iggy/README.md | 13 +-
helm/charts/iggy/README.md.gotmpl | 8 +-
helm/charts/iggy/templates/_helpers.tpl | 19 +-
helm/charts/iggy/values.yaml | 4 +
scripts/ci/coverage-baseline-affected.sh | 2 +-
scripts/ci/cpp-coverage.sh | 185 +-
scripts/ci/license-headers.sh | 6 +-
scripts/ci/test-helm.sh | 47 +-
.../performance/run-standard-performance-suite.sh | 53 +-
scripts/performance/utils.sh | 9 +-
scripts/prepare-release.sh | 1 +
temp/script.sh | 219 ++
web/package-lock.json | 6 +-
274 files changed, 23102 insertions(+), 3549 deletions(-)
create mode 100644 .claude/skills/team-review-slim/SKILL.md
copy core/common/src/types/{cluster/role.rs => options/durability.rs} (53%)
create mode 100644 core/journal/src/durable_storage.rs
create mode 100644 core/journal/src/partition_journal.rs
create mode 100644 core/journal/src/partition_journal/segments.rs
create mode 100644 core/partitions/src/install_backup.rs
create mode 100644 core/partitions/src/persistence.rs
create mode 100644 core/simulator/src/storage.rs
create mode 100644 core/simulator/src/storage/tests.rs
copy foreign/csharp/Iggy_SDK/Enums/{Protocol.cs => Durability.cs} (72%)
copy
foreign/java/{bench/src/main/java/org/apache/iggy/bench/common/enums/TransportKind.java
=> java-sdk/src/main/java/org/apache/iggy/topic/Durability.java} (81%)
copy foreign/{csharp/Iggy_SDK/Contracts/Auth/AuthResponse.cs =>
php/src/durability.rs} (64%)
create mode 100644 foreign/python/src/durability.rs
create mode 100644 foreign/python/tests/test_partition.py
create mode 100755 temp/script.sh