This is an automated email from the ASF dual-hosted git repository.
lukaszzborek pushed a change to branch feat/csharp-connection-string
in repository https://gitbox.apache.org/repos/asf/iggy.git
from fc113e58a feat(csharp): implement connection string parsing
new 6b5f6a44f fix(csharp): adjust connection string retry logic to cap at
Int32.MaxValue
add 8f93cad89 fix(server)!: make logging honor retention, level, path and
file_enabled (#4354)
add 6fe34888d feat(gateways): answer Kafka Fetch with records from Iggy
(#4336)
add 8121e7e2b chore(deps): Bump urllib3 from 2.7.0 to 2.8.0 in
/foreign/python (#4366)
add ed6e6e716 fix(server): prevent panic when the cleaner removes expired
tokens (#4364)
add a08d0ca8f test(sdk): reproduce client lifecycle bugs (#4344)
add 985b0ac1f chore(deps): Bump brace-expansion from 5.0.9 to 5.0.12 in
/foreign/node (#4358)
add 88c842ccc chore(deps): Bump brace-expansion from 5.0.9 to 5.0.12 in
/web (#4359)
add fc927ab28 chore(deps): Bump the web group across 1 directory with 8
updates (#4375)
add 73f1f7023 chore(deps): Bump the node group across 2 directories with 6
updates (#4376)
add db581c276 chore(deps): Bump brace-expansion from 5.0.9 to 5.0.12 in
/examples/node (#4377)
add a6bcfd694 chore(deps): Bump devalue from 5.9.2 to 5.9.4 in /web (#4378)
add d7458b8e6 test(go): cover offset, partition, and consumer group
command serialization (#4370)
add e4ff95b88 feat(go): add GetMe to the Go SDK (#4371)
add 071121c70 fix(consensus): preserve recovery floors and reject aged-out
requests (#4365)
add e51780a53 chore(repo): make repository skills available to Codex
(#4360)
add 7c10d8adb fix(sdk): keep a shut down client shut down (#4374)
add 0936d44cc chore(repo): bump all components to patch edge versions
after 0.9.0 (#4315)
add 815f345b3 docs: require agent review, comment replies and fewer
rebases (#4384)
add c80183499 chore(deps): Bump the go group across 2 directories with 2
updates (#4390)
add 2d7fddba5 feat(gateways): Kafka gateway Phase 1 quick-start and Docker
Compose E2E (#4372)
new f79c71931 Merge branch 'master' into feat/csharp-connection-string
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.agents/skills/connector-review | 1 +
.agents/skills/connector-runtime | 1 +
.agents/skills/connector-sdk | 1 +
.agents/skills/connector-sink | 1 +
.agents/skills/connector-source | 1 +
.agents/skills/connector-testing | 1 +
.agents/skills/connector-transform | 1 +
.agents/skills/connectors-overview | 1 +
.agents/skills/team-review | 1 +
.agents/skills/team-review-slim | 1 +
.claude/skills/connector-review/SKILL.md | 35 +-
.../skills/connector-review/agents/openai.yaml | 4 +-
.claude/skills/connector-sink/TEMPLATE.md | 2 +-
.claude/skills/team-review-slim/SKILL.md | 31 +-
.../skills/team-review-slim/agents/openai.yaml | 4 +-
.claude/skills/team-review/SKILL.md | 29 +-
.../skills/team-review/agents/openai.yaml | 4 +-
.claude/skills/team-review/references/execution.md | 80 +
.config/nextest.toml | 6 +-
.github/workflows/_common.yml | 7 +-
.../connectors/.gitkeep => .pr4372-comments.json | 0
.pre-commit-config.yaml | 2 +-
AGENTS.md | 20 +-
CONTRIBUTING.md | 22 +
Cargo.lock | 67 +-
Cargo.toml | 10 +-
bdd/go/go.mod | 4 +-
bdd/go/go.sum | 8 +-
bdd/python/uv.lock | 2 +-
core/ai/mcp/Cargo.toml | 2 +-
core/bench/Cargo.toml | 2 +-
core/bench/dashboard/frontend/Cargo.toml | 2 +-
core/bench/dashboard/server/Cargo.toml | 2 +-
core/bench/report/Cargo.toml | 2 +-
core/binary_protocol/Cargo.toml | 2 +-
core/cli/Cargo.toml | 2 +-
core/common/Cargo.toml | 2 +-
core/common/src/error/iggy_error.rs | 13 +
core/common/src/traits/client.rs | 7 +-
core/configs/src/common/validators.rs | 62 +-
core/connectors/runtime/Cargo.toml | 2 +-
core/connectors/sdk/Cargo.toml | 2 +-
core/connectors/sinks/clickhouse_sink/Cargo.toml | 2 +-
core/connectors/sinks/delta_sink/Cargo.toml | 2 +-
core/connectors/sinks/doris_sink/Cargo.toml | 2 +-
.../connectors/sinks/elasticsearch_sink/Cargo.toml | 2 +-
core/connectors/sinks/http_sink/Cargo.toml | 2 +-
core/connectors/sinks/iceberg_sink/Cargo.toml | 2 +-
core/connectors/sinks/influxdb_sink/Cargo.toml | 2 +-
core/connectors/sinks/meilisearch_sink/Cargo.toml | 2 +-
core/connectors/sinks/mongodb_sink/Cargo.toml | 2 +-
core/connectors/sinks/postgres_sink/Cargo.toml | 2 +-
core/connectors/sinks/quickwit_sink/Cargo.toml | 2 +-
core/connectors/sinks/rabbitmq_sink/Cargo.toml | 2 +-
core/connectors/sinks/redshift_sink/Cargo.toml | 2 +-
core/connectors/sinks/s3_sink/Cargo.toml | 2 +-
core/connectors/sinks/stdout_sink/Cargo.toml | 2 +-
core/connectors/sinks/surrealdb_sink/Cargo.toml | 2 +-
.../sources/elasticsearch_source/Cargo.toml | 2 +-
core/connectors/sources/http_source/Cargo.toml | 2 +-
core/connectors/sources/influxdb_source/Cargo.toml | 2 +-
core/connectors/sources/postgres_source/Cargo.toml | 2 +-
core/connectors/sources/random_source/Cargo.toml | 2 +-
core/consensus/src/client_table.rs | 286 +-
core/consensus/src/impls.rs | 423 ++-
core/consensus/src/lib.rs | 2 +-
core/consensus/src/observability.rs | 36 +
core/integration/src/harness/config/server.rs | 5 +
core/integration/src/harness/handle/server.rs | 3 +
core/integration/tests/cluster/partition_dedup.rs | 11 +
core/integration/tests/sdk/client_lifecycle.rs | 176 ++
core/integration/tests/sdk/mod.rs | 1 +
core/integration/tests/server/mod.rs | 3 +
.../server/personal_access_token_cleaner_vsr.rs | 84 +
.../server/scenarios/log_rotation_scenario.rs | 90 +
core/message_bus/src/installer/tcp.rs | 4 +-
core/message_bus/src/lib.rs | 6 +-
core/message_bus/tests/duplicate_client_id.rs | 2 +-
core/metadata/src/impls/metadata.rs | 142 +-
core/partitions/src/iggy_partition.rs | 187 +-
core/partitions/src/install_backup.rs | 42 +-
core/partitions/src/lib.rs | 4 +-
core/partitions/src/partition_storage.rs | 284 +-
core/partitions/src/state_transfer.rs | 31 +-
core/sdk/Cargo.toml | 2 +-
core/sdk/src/clients/producer.rs | 242 +-
core/sdk/src/http/http_client.rs | 15 +-
core/sdk/src/quic/quic_client.rs | 7 +-
core/sdk/src/tcp/tcp_client.rs | 7 +-
core/sdk/src/vsr.rs | 28 +-
core/sdk/src/websocket/websocket_client.rs | 16 +-
core/server/Cargo.toml | 2 +-
core/server/README.md | 62 +
core/server/config.toml | 13 +-
core/server/src/boot/mod.rs | 15 -
core/server/src/boot/recovery.rs | 10 +-
core/server/src/dispatch/mod.rs | 7 +-
core/server/src/http/session.rs | 7 +-
core/server/src/http/state.rs | 43 +-
core/server/src/http/submit.rs | 6 +-
core/server/src/partition_helpers.rs | 888 +++++-
core/server/src/partition_reconciler.rs | 84 +-
core/server/src/responses.rs | 2 +-
core/server/src/server_error.rs | 26 +
core/server/src/snapshot.rs | 13 +-
core/server_common/Cargo.toml | 1 +
core/server_common/src/log/logger.rs | 294 +-
core/server_common/src/log/mod.rs | 2 +-
core/server_common/src/log/settings.rs | 124 +
core/shard/src/builder.rs | 1 +
core/shard/src/coordinator.rs | 397 ++-
core/shard/src/lib.rs | 57 +-
core/simulator/src/lib.rs | 316 ++-
examples/go/go.mod | 2 +-
examples/go/go.sum | 4 +-
examples/node/package-lock.json | 28 +-
examples/node/package.json | 4 +-
examples/python/uv.lock | 2 +-
.../Iggy_SDK/Configuration/ConnectionString.cs | 2 +-
.../VsrRequestOutcomeUnknownException.cs | 9 +-
.../Implementations/HttpMessageStream.cs | 9 +-
.../Implementations/TcpMessageStream.Vsr.cs | 13 +-
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
.../Publishers/BackgroundMessageProcessor.cs | 5 +-
.../csharp/Iggy_SDK/Utils/IggyDurationParser.cs | 7 +-
foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs | 4 +-
foreign/csharp/Iggy_SDK/Vsr/VsrError.cs | 1 +
.../ClientTests/ConnectionStringTests.cs | 11 +-
.../ClientTests/HttpTopicOptionsTests.cs | 19 +
.../Iggy_SDK_Tests/UtilityTests/SendUnitTests.cs | 24 +
.../VsrTests/EndpointFailoverTests.cs | 45 +
.../VsrTests/VsrProtocolDriftTests.cs | 3 +-
foreign/csharp/README.md | 3 +-
foreign/go/client/tcp/tcp_clients_management.go | 9 +
foreign/go/contracts/client.go | 4 +
foreign/go/contracts/version.go | 2 +-
foreign/go/errors/errors.yaml | 4 +
foreign/go/errors/errors_gen.go | 17 +
foreign/go/errors/errors_test.go | 6 +
foreign/go/go.mod | 2 +-
foreign/go/go.sum | 4 +-
foreign/go/internal/command/consumer_group_test.go | 130 +
foreign/go/internal/command/offset_test.go | 120 +
foreign/go/internal/command/partition_test.go | 89 +
foreign/go/internal/command/system.go | 12 +
foreign/go/internal/command/system_test.go | 1 +
foreign/go/internal/vsr/envelope.go | 6 +-
foreign/go/tests/e2e_test.go | 38 +-
.../apache/iggy/client/async/tcp/PollRouter.java | 32 +-
.../client/async/tcp/vsr/VsrRequestEncoder.java | 5 +-
.../org/apache/iggy/exception/IggyErrorCode.java | 6 +
.../AsyncIggyTcpClientTransientFailoverTest.java | 57 +-
.../apache/iggy/exception/IggyErrorCodeTest.java | 1 +
foreign/node/package-lock.json | 325 +--
foreign/node/package.json | 8 +-
foreign/node/src/wire/error.code.test.ts | 7 +
foreign/node/src/wire/error.code.ts | 1 +
foreign/node/src/wire/vsr/index.ts | 5 +-
foreign/python/Cargo.toml | 4 +-
foreign/python/apache_iggy.pyi | 4 -
foreign/python/pyproject.toml | 2 +-
foreign/python/src/client.rs | 4 -
foreign/python/tests/test_connectivity.py | 17 +-
foreign/python/uv.lock | 8 +-
.../swift/Sources/Iggy/Errors/IggyErrorCode.swift | 2 +
foreign/swift/Tests/IggyTests/Fixtures/golden.json | 13 +-
gateways/kafka/Cargo.toml | 2 +
gateways/kafka/Dockerfile | 64 +
.../kafka/Dockerfile.dockerignore | 36 +-
gateways/kafka/README.md | 234 +-
gateways/kafka/docker-compose.yml | 141 +
gateways/kafka/docs/ACL_MAPPING.md | 6 +-
gateways/kafka/docs/AUTHENTICATION.md | 10 +-
gateways/kafka/docs/BRIDGE_MAPPING.md | 10 +-
gateways/kafka/docs/CONSUMER_GROUPS.md | 4 +-
gateways/kafka/docs/IDEMPOTENCE.md | 22 +-
gateways/kafka/docs/MANUAL_TESTING.md | 37 +-
gateways/kafka/docs/SCOPE.md | 22 +-
gateways/kafka/docs/TEST_SUITE.md | 23 +-
gateways/kafka/src/bridge/error.rs | 25 +
gateways/kafka/src/bridge/iggy_bridge/fetch.rs | 468 +++-
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 90 +-
gateways/kafka/src/bridge/iggy_bridge/offsets.rs | 141 +-
gateways/kafka/src/bridge/iggy_bridge/produce.rs | 33 +-
gateways/kafka/src/bridge/mod.rs | 4 +-
gateways/kafka/src/protocol/api.rs | 57 +-
gateways/kafka/src/protocol/handlers/fetch.rs | 2830 +++++++++++++++++++-
.../kafka/src/protocol/handlers/list_offsets.rs | 120 +-
gateways/kafka/src/protocol/handlers/metadata.rs | 14 +-
gateways/kafka/src/protocol/handlers/mod.rs | 82 +-
gateways/kafka/src/protocol/handlers/produce.rs | 57 +-
gateways/kafka/src/protocol/mod.rs | 1 +
gateways/kafka/src/protocol/probe_board.rs | 468 ++++
gateways/kafka/src/records.rs | 110 +-
gateways/kafka/src/server.rs | 21 +-
gateways/kafka/tests/common/gateway_process.rs | 102 +
gateways/kafka/tests/common/iggy_server.rs | 86 +-
gateways/kafka/tests/fetch_real_bridge_tests.rs | 821 ++++++
gateways/kafka/tests/kafka_client_e2e_tests.rs | 211 +-
gateways/kafka/tests/phase1_e2e_tests.rs | 341 +++
licenserc.toml | 1 +
scripts/ci/skills.sh | 104 +-
web/package-lock.json | 383 +--
web/package.json | 20 +-
204 files changed, 11320 insertions(+), 2023 deletions(-)
create mode 120000 .agents/skills/connector-review
create mode 120000 .agents/skills/connector-runtime
create mode 120000 .agents/skills/connector-sdk
create mode 120000 .agents/skills/connector-sink
create mode 120000 .agents/skills/connector-source
create mode 120000 .agents/skills/connector-testing
create mode 120000 .agents/skills/connector-transform
create mode 120000 .agents/skills/connectors-overview
create mode 120000 .agents/skills/team-review
create mode 120000 .agents/skills/team-review-slim
copy examples/java/gradle.properties =>
.claude/skills/connector-review/agents/openai.yaml (94%)
copy examples/java/gradle.properties =>
.claude/skills/team-review-slim/agents/openai.yaml (94%)
copy examples/java/gradle.properties =>
.claude/skills/team-review/agents/openai.yaml (94%)
create mode 100644 .claude/skills/team-review/references/execution.md
copy core/integration/tests/connectors/api/connectors/.gitkeep =>
.pr4372-comments.json (100%)
create mode 100644 core/integration/tests/sdk/client_lifecycle.rs
create mode 100644
core/integration/tests/server/personal_access_token_cleaner_vsr.rs
create mode 100644 foreign/go/internal/command/consumer_group_test.go
create mode 100644 foreign/go/internal/command/offset_test.go
create mode 100644 foreign/go/internal/command/partition_test.go
create mode 100644 gateways/kafka/Dockerfile
copy core/ai/mcp/.dockerignore => gateways/kafka/Dockerfile.dockerignore (57%)
create mode 100644 gateways/kafka/docker-compose.yml
create mode 100644 gateways/kafka/src/protocol/probe_board.rs
create mode 100644 gateways/kafka/tests/common/gateway_process.rs
create mode 100644 gateways/kafka/tests/fetch_real_bridge_tests.rs
create mode 100644 gateways/kafka/tests/phase1_e2e_tests.rs