This is an automated email from the ASF dual-hosted git repository.
hubcio pushed a change to branch skill-review-command
in repository https://gitbox.apache.org/repos/asf/iggy.git
omit db769f533 feat(ci): add /skill review command that runs repo skills
add 41c6956bb fix(ci): retry flaky downloads and stop dry runs promising
new tags (#4216)
add d1cb5aee7 fix(configs): check server env vars once and refuse boot
only in debug (#4200)
add 7bd69670f refactor(partitions): make purge recovery testable with
SimStorage (#4240)
add f0bd70283 perf(message_bus): batch small replica frames per socket
read (#4224)
add da4f3188d feat(cpp): add functions related to consumers and offsets to
high level client (#4180)
add ddbe222c2 chore(deps): Bump the csharp group with 11 updates (#4254)
add 74614ed05 feat(server): warn when listener binds loopback inside a
container (#4218)
add fa8070494 fix(cluster): stop partition repair asking for an inverted
op range (#4246)
add 2cacea5b1 fix(partitions): sync checkpoints through original writers
(#4253)
add 7bae8ec84 fix(connectors): tag sink batches with the payload's schema
(#4204)
add 2894368e1 feat(gateways): map Kafka records to Iggy messages and back
(#4229)
add 20d323793 feat(gateways): Implement ListOffsets Kafka Keys backed by
Iggy bridge (#4259)
add a131a2d32 chore(deps): Bump the java group across 1 directory with 5
updates (#4267)
add 85a397d0e chore(deps): Bump the python group across 3 directories with
2 updates (#4280)
add 5d8129e95 chore(deps): Bump the github-actions group across 1
directory with 5 updates (#4268)
add 6ac19040e docs(repo): add contributor guidance to AGENTS.md (#4286)
add 768ea8093 feat(gateways): SASL/PLAIN authentication for the Kafka
gateway (#4222)
add 1951e654c chore(integration): replace MinIO with Floci (#4290)
add b8bf85fd9 feat(swift): scaffold the Swift SDK package and CI lanes
(#4190)
add 8d0e28d9c feat(gateways): send Kafka records to Iggy from the Produce
handler (#4282)
add 15a49d082 feat(gateways): Implement CreateTopics and Metadata Kafka
Keys backed by the Iggy bridge (#4258)
add 3adf4fe39 docs: add how to report a bug found by an agent (#4309)
add 105ebe52f chore(deps): Bump rules_cc from 0.2.22 to 0.2.25 in
/foreign/cpp in the cpp group across 1 directory (#4310)
add e8cb28790 chore(deps): Bump the go group across 1 directory with 2
updates (#4300)
add d2f970661 fix(server): recover stalled consumer groups after restarts
(#4283)
add 4e586f56f feat(ci): add /skill review command that runs repo skills
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 (db769f533)
\
N -- N -- N refs/heads/skill-review-command (4e586f56f)
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:
.claude/skills/connector-runtime/SKILL.md | 5 +-
.claude/skills/connector-sdk/SKILL.md | 17 +-
.claude/skills/connector-sink/SKILL.md | 2 +-
.config/nextest.toml | 10 +-
.../actions/csharp-dotnet/post-merge/action.yml | 2 +-
.github/actions/java-gradle/post-merge/action.yml | 2 +-
.../actions/python-maturin/pre-merge/action.yml | 4 +-
.github/actions/rust/pre-merge/action.yml | 2 +-
.github/actions/swift/pre-merge/action.yml | 75 +
.../actions/utils/setup-node-with-cache/action.yml | 2 +-
.../actions/utils/setup-rust-with-cache/action.yml | 17 +-
.github/actions/utils/setup-swift/action.yml | 56 +
.../utils/validate-third-party-licenses/action.yml | 10 +-
.github/config/components.yml | 14 +
.github/review-bot/README.md | 4 +-
.github/review-bot/comment-style.md | 26 +-
.github/review-bot/prompt.md | 27 +-
.github/workflows/_build_python_wheels.yml | 46 +-
.github/workflows/_build_rust_artifacts.yml | 4 +-
.github/workflows/_common.yml | 15 +-
.github/workflows/_detect.yml | 13 +-
.github/workflows/_publish_rust_crates.yml | 2 +-
.github/workflows/_test.yml | 24 +-
.github/workflows/_test_examples.yml | 2 +-
.github/workflows/coverage-baseline.yml | 24 +-
.github/workflows/post-merge.yml | 4 +-
.github/workflows/pr-skill-review-post.yml | 68 +-
.github/workflows/pr-skill-review-run.yml | 9 +-
.github/workflows/pre-merge.yml | 75 +-
.github/workflows/publish.yml | 129 +-
.gitignore | 8 +
AGENTS.md | 14 +-
CONTRIBUTING.md | 9 +
Cargo.lock | 39 +-
Cargo.toml | 7 +-
.../features/step_definitions/background_steps.cpp | 3 +-
bdd/docker-compose.cluster.yml | 1 +
bdd/go/go.mod | 4 +-
bdd/go/go.sum | 8 +-
bdd/python/uv.lock | 64 +-
core/binary_protocol/src/consensus/command.rs | 11 +-
.../src/consensus/consumer_session.rs | 218 ++
core/binary_protocol/src/consensus/header.rs | 6 +
core/binary_protocol/src/consensus/mod.rs | 4 +
core/binary_protocol/src/lib.rs | 22 +-
core/cli/src/args/consumer_group.rs | 6 +-
core/configs/src/common/defaults.rs | 10 +
core/configs/src/common/displays.rs | 6 +-
core/configs/src/common/server.rs | 7 +
core/configs/src/configs_impl/file_provider.rs | 101 +-
.../configs/src/configs_impl/typed_env_provider.rs | 100 +-
core/configs/src/server_config/defaults.rs | 1 +
core/configs/src/server_config/displays.rs | 8 +-
core/configs/src/server_config/message_bus.rs | 131 +-
core/configs/src/server_config/server.rs | 36 +-
core/configs/src/server_config/validators.rs | 391 +++-
core/connectors/runtime/Cargo.toml | 4 +
core/connectors/runtime/README.md | 5 +-
core/connectors/runtime/src/benchmark.rs | 5 +-
core/connectors/runtime/src/metrics.rs | 34 +-
core/connectors/runtime/src/sink.rs | 669 +++++-
core/connectors/sdk/Cargo.toml | 2 +-
core/connectors/sdk/README.md | 15 +-
core/connectors/sdk/src/lib.rs | 334 ++-
core/connectors/sdk/src/sink.rs | 149 +-
.../sdk/src/transforms/flatbuffer_convert.rs | 23 +-
.../connectors/sdk/src/transforms/proto_convert.rs | 65 +-
core/connectors/sinks/README.md | 8 +
core/connectors/sinks/clickhouse_sink/README.md | 8 +-
core/connectors/sinks/clickhouse_sink/src/body.rs | 110 +-
core/connectors/sinks/delta_sink/Cargo.toml | 3 +
core/connectors/sinks/delta_sink/src/sink.rs | 81 +-
core/connectors/sinks/doris_sink/README.md | 3 +-
core/connectors/sinks/doris_sink/src/lib.rs | 87 +-
.../connectors/sinks/elasticsearch_sink/src/lib.rs | 80 +-
core/connectors/sinks/http_sink/README.md | 3 +-
core/connectors/sinks/http_sink/src/lib.rs | 37 +-
.../iceberg_sink/src/router/dynamic_router.rs | 58 +-
.../sinks/iceberg_sink/src/router/mod.rs | 43 +-
.../connectors/sinks/influxdb_sink/dependencies.md | 2 +-
core/connectors/sinks/meilisearch_sink/README.md | 13 +-
core/connectors/sinks/meilisearch_sink/src/lib.rs | 38 +-
core/connectors/sinks/quickwit_sink/README.md | 2 +-
core/connectors/sinks/quickwit_sink/src/lib.rs | 22 +-
core/connectors/sinks/redshift_sink/README.md | 2 +-
core/connectors/sinks/s3_sink/README.md | 2 +-
core/connectors/sinks/s3_sink/src/formatter.rs | 28 +-
core/connectors/sinks/surrealdb_sink/README.md | 11 +-
core/connectors/sinks/surrealdb_sink/src/lib.rs | 17 +
.../sources/influxdb_source/dependencies.md | 2 +-
core/integration/Cargo.toml | 1 +
.../test_consumer_group_create_command.rs | 34 +-
.../tests/cluster/client_table_restart.rs | 478 +++-
core/integration/tests/cluster/mod.rs | 1 +
.../tests/cluster/replica_read_batching.rs | 150 ++
.../integration/tests/connectors/clickhouse/mod.rs | 2 +
.../tests/connectors/clickhouse/proto_text.rs | 113 +
.../sink.toml => clickhouse/proto_text.toml} | 2 +-
.../proto_text_config}/clickhouse_sink.toml | 43 +-
core/integration/tests/connectors/doris/mod.rs | 1 +
.../meilisearch_sink.rs => doris/proto_text.rs} | 56 +-
.../{delta/sink.toml => doris/proto_text.toml} | 2 +-
.../proto_text_config/doris_sink.toml} | 35 +-
.../tests/connectors/elasticsearch/mod.rs | 1 +
.../tests/connectors/elasticsearch/proto_text.rs | 126 ++
.../sink.toml => elasticsearch/proto_text.toml} | 2 +-
.../proto_text_config/elasticsearch_sink.toml} | 23 +-
.../tests/connectors/fixtures/delta/fixture.rs | 158 +-
.../integration/tests/connectors/fixtures/floci.rs | 159 ++
.../tests/connectors/fixtures/iceberg/container.rs | 166 +-
core/integration/tests/connectors/fixtures/mod.rs | 1 +
.../connectors/fixtures/redshift/container.rs | 73 +-
.../tests/connectors/fixtures/redshift/mod.rs | 2 +-
.../tests/connectors/fixtures/redshift/sink.rs | 203 +-
.../tests/connectors/fixtures/s3/fixture.rs | 145 +-
core/integration/tests/connectors/runtime/mod.rs | 1 +
.../tests/connectors/runtime/schema_tagging.rs | 134 ++
.../sink.toml => runtime/schema_tagging.toml} | 2 +-
.../stdout_sink.toml} | 15 +-
core/integration/tests/connectors/s3/s3_sink.rs | 33 +-
.../stale_client_consumer_group_scenario.rs | 262 ++-
core/journal/Cargo.toml | 1 +
core/journal/src/durable_storage.rs | 192 +-
core/message_bus/src/config.rs | 8 +
core/message_bus/src/framing.rs | 95 +-
core/message_bus/src/installer/replica.rs | 12 +-
core/message_bus/src/lib.rs | 83 +
core/message_bus/src/transports/tcp.rs | 296 ++-
core/metadata/src/impls/metadata.rs | 427 +++-
core/metadata/src/impls/recovery.rs | 53 +-
core/metadata/src/stm/consumer_group.rs | 242 +-
core/metadata/src/stm/mod.rs | 10 +
core/metadata/src/stm/stream.rs | 81 +-
core/partitions/Cargo.toml | 9 +-
core/partitions/src/iggy_index_writer.rs | 4 +
core/partitions/src/iggy_partition.rs | 245 +-
core/partitions/src/lib.rs | 2 +
core/partitions/src/offset_storage.rs | 247 ++-
core/partitions/src/persistence.rs | 49 +-
core/server/config.toml | 38 +-
core/server/src/boot/mod.rs | 47 +-
core/server/src/boot/recovery.rs | 4 +
core/server/src/boot/threads.rs | 12 +-
core/server/src/consumer_group.rs | 5 +
core/server/src/consumer_group/lease.rs | 160 ++
core/server/src/consumer_group/liveness.rs | 1034 +++++++++
core/server/src/dispatch/mod.rs | 14 +-
core/server/src/dispatch/session_ops.rs | 2 +-
core/server/src/dispatch/submit.rs | 24 +-
core/server/src/dispatch/test_support.rs | 8 +
core/server/src/lib.rs | 5 +-
core/server/src/offset_recovery.rs | 179 +-
core/server/src/partition_helpers.rs | 105 +-
core/server/src/partition_reconciler.rs | 68 +
core/server/src/session_manager.rs | 70 +-
core/server/src/shell.rs | 4 +
core/server_common/src/consensus_message.rs | 16 +-
core/server_common/src/sharding/mod.rs | 10 +
core/shard/src/lib.rs | 107 +-
core/shard/src/metrics.rs | 27 +
core/shard/src/poll/completion_tests.rs | 1 +
core/simulator/README.md | 1 +
core/simulator/src/client.rs | 18 +-
core/simulator/src/lib.rs | 274 ++-
core/simulator/src/packet.rs | 7 +-
core/simulator/src/replica.rs | 12 +-
core/simulator/src/storage.rs | 10 +-
core/simulator/src/storage/purge.rs | 469 ++++
core/simulator/src/storage/tests.rs | 95 +-
.../Iggy_SDK.Examples.Basic.Consumer.csproj | 8 +-
.../Iggy_SDK.Examples.Basic.Producer.csproj | 10 +-
...ggy_SDK.Examples.GettingStarted.Consumer.csproj | 4 +-
...ggy_SDK.Examples.GettingStarted.Producer.csproj | 4 +-
.../Iggy_SDK.Examples.Shared.csproj | 2 +-
...gy_SDK.Examples.MessageEnvelope.Consumer.csproj | 10 +-
...gy_SDK.Examples.MessageEnvelope.Producer.csproj | 10 +-
...ggy_SDK.Examples.MessageHeaders.Consumer.csproj | 4 +-
...ggy_SDK.Examples.MessageHeaders.Producer.csproj | 4 +-
.../Iggy_SDK.Examples.NewSdk.Consumer.csproj | 10 +-
.../Iggy_SDK.Examples.NewSdk.Producer.csproj | 10 +-
.../Iggy_SDK.Examples.TcpTls.Consumer.csproj | 4 +-
.../Iggy_SDK.Examples.TcpTls.Producer.csproj | 4 +-
examples/python/pyproject.toml | 4 +-
examples/python/uv.lock | 68 +-
foreign/cpp/.clang-tidy | 49 +
foreign/cpp/BUILD.bazel | 1 +
foreign/cpp/MODULE.bazel | 3 +-
foreign/cpp/MODULE.bazel.lock | 7 +-
foreign/cpp/include/iggy.hpp | 668 +++++-
foreign/cpp/src/client.cpp | 97 +
foreign/cpp/src/type_conversions.cpp | 68 +-
foreign/cpp/tests/e2e/client.cpp | 2 -
foreign/cpp/tests/e2e/consumer_group.cpp | 2337 ++++++++++++++------
foreign/cpp/tests/unit/unit_tests.cpp | 35 +-
foreign/csharp/Directory.Packages.props | 12 +-
foreign/java/gradle/libs.versions.toml | 2 +-
foreign/python/uv.lock | 64 +-
foreign/swift/.swift-format | 22 +
.../consts.go => foreign/swift/Package.swift | 26 +-
foreign/swift/README.md | 87 +
foreign/swift/Sources/Iggy/Errors/IggyError.swift | 78 +
.../swift/Sources/Iggy/Errors/IggyErrorCode.swift | 515 +++++
.../swift/Sources/Iggy/Iggy.swift | 20 +-
.../Sources/Iggy/Utilities/UInt128Value.swift | 156 ++
foreign/swift/Sources/Iggy/Wire/ByteCodec.swift | 218 ++
foreign/swift/Tests/IggyTests/ByteCodecTests.swift | 120 +
foreign/swift/Tests/IggyTests/ErrorCodeTests.swift | 55 +
gateways/kafka/Cargo.toml | 17 +-
gateways/kafka/README.md | 174 +-
gateways/kafka/docs/AUTHENTICATION.md | 260 +++
gateways/kafka/docs/BRIDGE_MAPPING.md | 207 +-
gateways/kafka/docs/MANUAL_TESTING.md | 94 +-
gateways/kafka/docs/SCOPE.md | 163 +-
gateways/kafka/docs/TEST_SUITE.md | 10 +-
gateways/kafka/src/auth.rs | 606 +++++
gateways/kafka/src/bridge/config.rs | 57 +-
gateways/kafka/src/bridge/error.rs | 139 +-
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 105 +-
gateways/kafka/src/bridge/iggy_bridge/offsets.rs | 37 +-
gateways/kafka/src/bridge/iggy_bridge/produce.rs | 183 +-
gateways/kafka/src/bridge/iggy_bridge/topics.rs | 330 ++-
gateways/kafka/src/bridge/mod.rs | 8 +-
gateways/kafka/src/bridge/topic_map.rs | 6 +
gateways/kafka/src/env.rs | 64 +
gateways/kafka/src/lib.rs | 3 +
gateways/kafka/src/main.rs | 130 +-
gateways/kafka/src/protocol/api.rs | 285 ++-
gateways/kafka/src/protocol/bounds_guard.rs | 120 +
.../kafka/src/protocol/handlers/api_versions.rs | 34 +-
.../kafka/src/protocol/handlers/create_topics.rs | 711 +++++-
.../kafka/src/protocol/handlers/list_offsets.rs | 454 +++-
gateways/kafka/src/protocol/handlers/metadata.rs | 544 ++++-
gateways/kafka/src/protocol/handlers/produce.rs | 895 +++++++-
gateways/kafka/src/protocol/mod.rs | 1 +
gateways/kafka/src/protocol/sasl.rs | 573 +++++
gateways/kafka/src/records.rs | 2296 +++++++++++++++++++
gateways/kafka/src/server.rs | 599 ++++-
gateways/kafka/tests/api_handler_tests.rs | 23 +-
.../kafka/tests/bridge_iggy_integration_tests.rs | 272 ++-
gateways/kafka/tests/common/iggy_server.rs | 3 +-
gateways/kafka/tests/common/server.rs | 28 +-
gateways/kafka/tests/common/wire.rs | 1 -
.../kafka/tests/create_topics_real_bridge_tests.rs | 536 +++++
.../kafka/tests/list_offsets_real_bridge_tests.rs | 402 ++++
gateways/kafka/tests/listener_robustness_tests.rs | 52 +-
gateways/kafka/tests/metadata_real_bridge_tests.rs | 408 ++++
gateways/kafka/tests/produce_real_bridge_tests.rs | 750 +++++++
gateways/kafka/tests/response_negative_tests.rs | 9 +-
gateways/kafka/tests/sasl_tests.rs | 1097 +++++++++
gateways/kafka/tests/server_e2e_tests.rs | 26 +-
gateways/kafka/tests/version_firewall_tests.rs | 21 +-
licenserc.toml | 8 +
scripts/prepare-release.sh | 1 +
253 files changed, 25695 insertions(+), 3021 deletions(-)
create mode 100644 .github/actions/swift/pre-merge/action.yml
create mode 100644 .github/actions/utils/setup-swift/action.yml
create mode 100644 core/binary_protocol/src/consensus/consumer_session.rs
create mode 100644 core/integration/tests/cluster/replica_read_batching.rs
create mode 100644 core/integration/tests/connectors/clickhouse/proto_text.rs
copy core/integration/tests/connectors/{delta/sink.toml =>
clickhouse/proto_text.toml} (93%)
copy core/{connectors/runtime/example_config/connectors =>
integration/tests/connectors/clickhouse/proto_text_config}/clickhouse_sink.toml
(54%)
copy core/integration/tests/connectors/{meilisearch/meilisearch_sink.rs =>
doris/proto_text.rs} (55%)
copy core/integration/tests/connectors/{delta/sink.toml =>
doris/proto_text.toml} (93%)
copy
core/integration/tests/connectors/{runtime/sink_transform_error_config/stdout.toml
=> doris/proto_text_config/doris_sink.toml} (60%)
create mode 100644
core/integration/tests/connectors/elasticsearch/proto_text.rs
copy core/integration/tests/connectors/{delta/sink.toml =>
elasticsearch/proto_text.toml} (92%)
copy core/{connectors/sinks/elasticsearch_sink/config.toml =>
integration/tests/connectors/elasticsearch/proto_text_config/elasticsearch_sink.toml}
(60%)
create mode 100644 core/integration/tests/connectors/fixtures/floci.rs
create mode 100644 core/integration/tests/connectors/runtime/schema_tagging.rs
copy core/integration/tests/connectors/{delta/sink.toml =>
runtime/schema_tagging.toml} (92%)
copy
core/integration/tests/connectors/runtime/{sink_invalid_config/stdout_valid.toml
=> schema_tagging_config/stdout_sink.toml} (76%)
create mode 100644 core/server/src/consumer_group/lease.rs
create mode 100644 core/server/src/consumer_group/liveness.rs
create mode 100644 core/simulator/src/storage/purge.rs
create mode 100644 foreign/cpp/.clang-tidy
create mode 100644 foreign/swift/.swift-format
copy examples/go/common/consts.go => foreign/swift/Package.swift (62%)
create mode 100644 foreign/swift/README.md
create mode 100644 foreign/swift/Sources/Iggy/Errors/IggyError.swift
create mode 100644 foreign/swift/Sources/Iggy/Errors/IggyErrorCode.swift
copy bdd/rust/tests/leader_redirection.rs =>
foreign/swift/Sources/Iggy/Iggy.swift (67%)
create mode 100644 foreign/swift/Sources/Iggy/Utilities/UInt128Value.swift
create mode 100644 foreign/swift/Sources/Iggy/Wire/ByteCodec.swift
create mode 100644 foreign/swift/Tests/IggyTests/ByteCodecTests.swift
create mode 100644 foreign/swift/Tests/IggyTests/ErrorCodeTests.swift
create mode 100644 gateways/kafka/docs/AUTHENTICATION.md
create mode 100644 gateways/kafka/src/auth.rs
create mode 100644 gateways/kafka/src/env.rs
create mode 100644 gateways/kafka/src/protocol/sasl.rs
create mode 100644 gateways/kafka/src/records.rs
create mode 100644 gateways/kafka/tests/create_topics_real_bridge_tests.rs
create mode 100644 gateways/kafka/tests/list_offsets_real_bridge_tests.rs
create mode 100644 gateways/kafka/tests/metadata_real_bridge_tests.rs
create mode 100644 gateways/kafka/tests/produce_real_bridge_tests.rs
create mode 100644 gateways/kafka/tests/sasl_tests.rs