This is an automated email from the ASF dual-hosted git repository.
ryerraguntla pushed a change to branch feat/connectors-3503-opensearch-source
in repository https://gitbox.apache.org/repos/asf/iggy.git
from 0f7f80e6d Fixed couple of fixtures
add c17312606 feat(swift): add connection strings, examples and BDD suite
(#4679)
add 763c8edd9 fix(sdk): resume stopped partitions and keep readiness waits
current (#4693)
add 430d976cc feat(java): let clients close without Netty's 2 s quiet
period (#4704)
add eef3f6888 test(gateways): add failover tests for gateways beside a
3-node cluster (#4702)
add 785a456c9 docs(repo): document RFC labels and the flow after
acceptance (#4705)
add 3c265dd89 chore(deps): Bump the csharp group with 7 updates (#4712)
add d70f3668b chore(deps): upgrade Rust dependencies (#4731)
add a941a94be fix(gateways): keep Kafka Fetch answering when one partition
stalls (#4706)
add c190ae75c ci: set a default advertised address for the local Docker
image (#4635)
add 89dc4a269 feat(swift): publish the SDK to SwiftPM from the repository
root (#4714)
add 35915be1e fix(connectors): address Iceberg sink issues batch (#4736)
add ec6b651b2 fix(common): reject malformed user headers during
deserialization (#4670)
add 8f2c9ffd6 fix(server): clamp recovered consumer offsets after the WAL
replay (#4737)
add 7d0ab2a17 fix: preserve JSON numbers and synchronize mux cancellation
tests (#4733)
add 5d2031e69 Merge branch 'master' into
feat/connectors-3503-opensearch-source
No new revisions were added by this update.
Summary of changes:
.claude/skills/connector-runtime/SKILL.md | 2 +
.config/nextest.toml | 25 +
.dockerignore | 2 +
.github/actions/rust/pre-merge/action.yml | 12 +-
.github/actions/swift/post-merge/action.yml | 94 +
.github/actions/swift/pre-merge/action.yml | 35 +-
.github/actions/utils/setup-swift/action.yml | 42 +-
.github/config/components.yml | 17 +-
.github/config/publish.yml | 7 +
.github/workflows/_test_examples.yml | 24 +
.github/workflows/post-merge.yml | 5 +-
.github/workflows/publish.yml | 89 +-
.gitignore | 4 +
.../agents/openai.yaml => .spi.yml | 7 +-
AGENTS.md | 4 +-
Cargo.lock | 1427 ++++++------
Cargo.toml | 76 +-
Dockerfile | 1 +
foreign/swift/Package.swift => Package.swift | 28 +-
README.md | 4 +-
bdd/README.md | 14 +-
bdd/docker-compose.yml | 27 +-
bdd/python/uv.lock | 2 +-
bdd/swift/Dockerfile | 21 +-
bdd/swift/runner/Package.resolved | 78 -
bdd/swift/runner/Sources/Gherkin.swift | 109 -
bdd/swift/runner/Sources/Steps.swift | 356 ---
bdd/swift/runner/Sources/main.swift | 92 -
.../swift => bdd/swift/tests}/Package.resolved | 0
bdd/swift/{runner => tests}/Package.swift | 8 +-
.../Sources/iggy-bdd/DeferredPollingSteps.swift | 265 +++
bdd/swift/tests/Sources/iggy-bdd/Gherkin.swift | 102 +
.../tests/Sources/iggy-bdd/MessagingSteps.swift | 216 ++
.../Sources/iggy-bdd/MetadataChangesSteps.swift | 265 +++
.../Sources/iggy-bdd/ResourceOptionsSteps.swift | 289 +++
bdd/swift/tests/Sources/iggy-bdd/Runner.swift | 267 +++
bdd/swift/tests/Sources/iggy-bdd/main.swift | 80 +
core/bench/report/src/types/hardware.rs | 26 +-
core/bench/src/utils/cpu_name.rs | 19 +-
core/common/Cargo.toml | 3 +-
core/common/src/http/messages/send_messages.rs | 202 +-
core/common/src/traits/binary_transport.rs | 60 +-
core/common/src/types/message/commit_outcome.rs | 3 +
core/common/src/types/message/iggy_message.rs | 53 +
core/common/src/types/message/mod.rs | 5 +-
core/common/src/types/message/user_headers.rs | 391 +++-
core/common/src/wire_conversions.rs | 18 +-
core/connectors/runtime/Cargo.toml | 2 +-
.../example_config/connectors/iceberg_sink.toml | 5 +-
core/connectors/runtime/src/sink.rs | 77 +-
core/connectors/runtime/src/stats.rs | 17 +-
core/connectors/sdk/Cargo.toml | 3 +-
core/connectors/sdk/src/log.rs | 27 +-
core/connectors/sdk/src/sink.rs | 8 +-
core/connectors/sdk/src/source.rs | 8 +-
core/connectors/sdk/tests/plugin_logging.rs | 100 +
core/connectors/sinks/delta_sink/Cargo.toml | 4 +-
core/connectors/sinks/delta_sink/src/coercions.rs | 27 +-
core/connectors/sinks/delta_sink/src/lib.rs | 4 +-
core/connectors/sinks/delta_sink/src/sink.rs | 75 +-
core/connectors/sinks/iceberg_sink/Cargo.toml | 3 +-
core/connectors/sinks/iceberg_sink/README.md | 29 +-
core/connectors/sinks/iceberg_sink/config.toml | 2 +-
core/connectors/sinks/iceberg_sink/src/lib.rs | 9 +-
core/connectors/sinks/iceberg_sink/src/props.rs | 31 +-
.../iceberg_sink/src/router/dynamic_router.rs | 22 +-
.../sinks/iceberg_sink/src/router/mod.rs | 7 +-
core/connectors/sinks/iceberg_sink/src/sink.rs | 7 +-
core/connectors/sources/postgres_source/Cargo.toml | 3 +-
core/connectors/sources/postgres_source/src/lib.rs | 6 +-
core/integration/tests/cluster/chaos_monkey.rs | 6 +-
.../tests/server/consumer_offset_recovery.rs | 142 ++
core/integration/tests/server/http_vsr.rs | 83 +
core/integration/tests/server/mod.rs | 1 +
.../scenarios/segment_rotation_race_scenario.rs | 2 +-
core/partitions/src/iggy_partition.rs | 18 +
core/partitions/src/lib.rs | 9 +-
core/partitions/src/partition_storage.rs | 180 +-
core/sdk/Cargo.toml | 2 +-
core/sdk/src/clients/producer.rs | 15 +
core/sdk/src/clients/reader.rs | 8 +-
core/sdk/src/clients/reader/cluster_tests.rs | 40 +
core/sdk/src/clients/reader/worker.rs | 116 +-
core/sdk/src/consumer_ext/consumer_message_ext.rs | 3 +-
core/sdk/src/links/mux.rs | 21 +-
core/sdk/src/prelude.rs | 34 +-
core/sdk/tests/send_future_depth.rs | 78 +
core/server/Cargo.toml | 2 +-
core/server/config.toml | 1 +
core/server/server.http | 17 +-
core/server/src/http/extractor.rs | 40 +-
core/server/src/http/handlers.rs | 12 +-
core/server/src/http/metrics.rs | 31 +-
core/server/src/main.rs | 3 +-
core/server/src/partition_helpers.rs | 19 +-
core/server/src/sysinfo_probe.rs | 12 +-
core/shard/src/lib.rs | 61 +-
core/shard/src/poll/deferred.rs | 115 +-
core/shard/src/poll/deferred_tests.rs | 188 ++
core/simulator/src/lib.rs | 3 +
core/simulator/src/readiness_mirror_tests.rs | 166 ++
core/system_stats/src/lib.rs | 19 +-
.../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/node/package-lock.json | 2 +-
examples/python/uv.lock | 2 +-
examples/swift/README.md | 67 +
.../swift/getting-started}/Package.resolved | 0
.../swift/getting-started}/Package.swift | 20 +-
.../Sources/Common/ExampleOptions.swift | 90 +
.../getting-started/Sources/consumer/main.swift | 50 +
.../getting-started/Sources/producer/main.swift | 50 +
foreign/cpp/Cargo.toml | 4 +-
foreign/cpp/MODULE.bazel | 2 +-
foreign/cpp/src/type_conversion.rs | 18 +-
foreign/csharp/Directory.Packages.props | 4 +-
foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs | 20 +-
.../Iggy_SDK/Consumers/IggyConsumerConfig.cs | 3 +
.../csharp/Iggy_SDK/Consumers/PartitionReader.cs | 26 +-
foreign/csharp/Iggy_SDK/Consumers/ReadException.cs | 14 +
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
.../ConsumerTests/ConsumerOnReaderTests.cs | 135 +-
.../Iggy_SDK_Tests/ConsumerTests/ReaderCluster.cs | 10 +
foreign/csharp/README.md | 14 +-
foreign/go/client/reader/reader.go | 20 +-
foreign/go/client/reader/reader_test.go | 81 +-
foreign/go/contracts/version.go | 2 +-
foreign/java/README.md | 21 +
.../kotlin/iggy.java-common-conventions.gradle.kts | 3 +
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 13 +-
.../async/tcp/AsyncIggyTcpClientBuilder.java | 43 +-
.../iggy/client/async/tcp/AsyncTcpConnection.java | 17 +-
.../iggy/client/async/tcp/EventLoopShutdown.java | 109 +
.../client/blocking/tcp/IggyTcpClientBuilder.java | 24 +
.../tcp/AsyncIggyTcpClientEventLoopGroupTest.java | 38 +-
.../tcp/AsyncIggyTcpClientFailoverSignInTest.java | 3 +-
.../tcp/AsyncIggyTcpClientLoginRoutingTest.java | 3 +-
.../tcp/AsyncIggyTcpClientSessionRulesTest.java | 3 +-
.../client/async/tcp/EventLoopShutdownTest.java | 127 ++
foreign/node/README.md | 12 +-
foreign/node/package-lock.json | 4 +-
foreign/node/package.json | 2 +-
foreign/node/src/stream/iggy-consumer.ts | 8 +-
foreign/node/src/stream/partition-reader.test.ts | 83 +
foreign/node/src/stream/partition-reader.ts | 25 +-
foreign/php/Cargo.toml | 6 +-
foreign/php/iggy-php.stubs.php | 22 +-
foreign/php/src/consumer.rs | 14 +-
foreign/php/src/error.rs | 9 +
foreign/python/Cargo.toml | 12 +-
foreign/python/apache_iggy.pyi | 13 +-
foreign/python/pyproject.toml | 2 +-
foreign/python/src/client.rs | 37 +
foreign/python/src/consumer.rs | 7 +-
foreign/python/src/receive_message.rs | 4 +-
foreign/python/src/stats.rs | 2 +-
foreign/python/src/user_headers.rs | 7 +-
foreign/python/tests/test_message_operations.py | 4 +-
foreign/python/uv.lock | 2 +-
foreign/{csharp => swift}/LICENSE | 0
NOTICE => foreign/swift/NOTICE | 0
foreign/swift/Package.swift | 2 +-
foreign/swift/README.md | 102 +-
.../Sources/Iggy/Client/ConnectionString.swift | 471 ++++
foreign/swift/Sources/Iggy/Client/IggyClient.swift | 7 +
.../swift/Sources/Iggy/Consumer/IggyConsumer.swift | 24 +-
.../Sources/Iggy/Consumer/PartitionReader.swift | 22 +-
foreign/swift/Sources/Iggy/Iggy.swift | 5 +-
.../swift/Tests/IggyE2ETests/ClientE2ETests.swift | 20 +
.../Tests/IggyTests/ConnectionStringTests.swift | 238 ++
foreign/swift/Tests/IggyTests/ConsumerTests.swift | 35 +
foreign/swift/Tests/IggyTests/Fixtures/golden.json | 8 +-
gateways/kafka/Cargo.toml | 3 +-
gateways/kafka/README.md | 58 +-
gateways/kafka/docs/AUTHENTICATION.md | 2 +-
gateways/kafka/docs/BRIDGE_MAPPING.md | 14 +-
gateways/kafka/docs/CONSUMER_GROUPS.md | 11 +-
gateways/kafka/docs/SCOPE.md | 8 +-
gateways/kafka/docs/TEST_SUITE.md | 31 +-
gateways/kafka/src/bridge/config.rs | 127 +-
gateways/kafka/src/bridge/iggy_bridge/fetch.rs | 264 ++-
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 36 +-
gateways/kafka/src/bridge/iggy_bridge/offsets.rs | 35 +-
gateways/kafka/src/bridge/iggy_bridge/produce.rs | 8 +-
gateways/kafka/src/bridge/mod.rs | 5 +-
gateways/kafka/src/protocol/api.rs | 6 +
gateways/kafka/src/protocol/handlers/fetch.rs | 1166 +++++++++-
.../kafka/src/protocol/handlers/list_offsets.rs | 417 ++--
.../kafka/tests/bridge_iggy_integration_tests.rs | 8 +-
gateways/kafka/tests/cluster_failover_tests.rs | 2351 ++++++++++++++++++++
gateways/kafka/tests/common/deployment.rs | 467 ++++
gateways/kafka/tests/common/docker_clients.rs | 296 +++
gateways/kafka/tests/common/iggy_server.rs | 66 +-
gateways/kafka/tests/common/poll_relay.rs | 218 ++
gateways/kafka/tests/fetch_real_bridge_tests.rs | 242 +-
gateways/kafka/tests/kafka_client_e2e_tests.rs | 6 +-
.../kafka/tests/list_offsets_real_bridge_tests.rs | 114 +-
rfcs/README.md | 125 +-
scripts/bump-version.sh | 41 +-
scripts/prepare-release.sh | 1 +
scripts/run-bdd-tests.sh | 5 -
scripts/run-examples-from-readme.sh | 27 +-
213 files changed, 12725 insertions(+), 2565 deletions(-)
create mode 100644 .github/actions/swift/post-merge/action.yml
copy .claude/skills/connector-review/agents/openai.yaml => .spi.yml (85%)
copy foreign/swift/Package.swift => Package.swift (75%)
delete mode 100644 bdd/swift/runner/Package.resolved
delete mode 100644 bdd/swift/runner/Sources/Gherkin.swift
delete mode 100644 bdd/swift/runner/Sources/Steps.swift
delete mode 100644 bdd/swift/runner/Sources/main.swift
copy {foreign/swift => bdd/swift/tests}/Package.resolved (100%)
copy bdd/swift/{runner => tests}/Package.swift (75%)
create mode 100644 bdd/swift/tests/Sources/iggy-bdd/DeferredPollingSteps.swift
create mode 100644 bdd/swift/tests/Sources/iggy-bdd/Gherkin.swift
create mode 100644 bdd/swift/tests/Sources/iggy-bdd/MessagingSteps.swift
create mode 100644 bdd/swift/tests/Sources/iggy-bdd/MetadataChangesSteps.swift
create mode 100644 bdd/swift/tests/Sources/iggy-bdd/ResourceOptionsSteps.swift
create mode 100644 bdd/swift/tests/Sources/iggy-bdd/Runner.swift
create mode 100644 bdd/swift/tests/Sources/iggy-bdd/main.swift
create mode 100644 core/connectors/sdk/tests/plugin_logging.rs
create mode 100644 core/integration/tests/server/consumer_offset_recovery.rs
create mode 100644 core/sdk/tests/send_future_depth.rs
create mode 100644 core/simulator/src/readiness_mirror_tests.rs
create mode 100644 examples/swift/README.md
copy {foreign/swift => examples/swift/getting-started}/Package.resolved (100%)
rename {bdd/swift/runner => examples/swift/getting-started}/Package.swift (63%)
create mode 100644
examples/swift/getting-started/Sources/Common/ExampleOptions.swift
create mode 100644 examples/swift/getting-started/Sources/consumer/main.swift
create mode 100644 examples/swift/getting-started/Sources/producer/main.swift
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/EventLoopShutdown.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/EventLoopShutdownTest.java
copy foreign/{csharp => swift}/LICENSE (100%)
copy NOTICE => foreign/swift/NOTICE (100%)
create mode 100644 foreign/swift/Sources/Iggy/Client/ConnectionString.swift
create mode 100644 foreign/swift/Tests/IggyTests/ConnectionStringTests.swift
create mode 100644 gateways/kafka/tests/cluster_failover_tests.rs
create mode 100644 gateways/kafka/tests/common/deployment.rs
create mode 100644 gateways/kafka/tests/common/docker_clients.rs
create mode 100644 gateways/kafka/tests/common/poll_relay.rs