This is an automated email from the ASF dual-hosted git repository.
krishvishal pushed a change to branch simulator-liveness
in repository https://gitbox.apache.org/repos/asf/iggy.git
from 20014f668 feat(simulator): separate a vacuous run and assert through
the drain
add 153088b3e fix(connectors): defer postgres source progress until ack
(#3957)
add e0a8196ef feat(python): expose update_user options (#4173)
add b68a506be fix(connectors): validate sink writes and startup readiness
(#4154)
add f239fca1e fix(connectors): defer source checkpoints and surface sink
failures (#4153)
add b4dd04ce2 fix(cluster): preserve group membership and reduce
produce/poll overhead (#4169)
add 7d0ee03ac chore(deps): Bump the csharp group with 5 updates (#4185)
add 90615962c chore(repo): refresh dependencies and strip edge versions
for 0.9.0 (#4187)
add c4c9794ba Merge branch 'master' into simulator-liveness
No new revisions were added by this update.
Summary of changes:
.claude/skills/connector-sink/TEMPLATE.md | 2 +-
.claude/skills/connector-source/SKILL.md | 55 +-
.claude/skills/connector-source/TEMPLATE.md | 49 +-
Cargo.lock | 1368 +++++++-------
Cargo.toml | 53 +-
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/binary_protocol/src/codes.rs | 16 +
core/binary_protocol/src/dispatch.rs | 8 +
.../src/requests/consumer_offsets/mod.rs | 62 +
.../src/requests/system/attach_consumer_session.rs | 87 +
core/binary_protocol/src/requests/system/mod.rs | 2 +
core/binary_protocol/src/responses/messages/mod.rs | 2 +
.../src/responses/messages/poll_routing.rs | 95 +
core/cli/Cargo.toml | 2 +-
core/common/Cargo.toml | 2 +-
.../src/traits/binary_impls/consumer_offsets.rs | 4 +-
core/common/src/traits/binary_impls/messages.rs | 13 +-
core/common/src/traits/binary_impls/users.rs | 3 +
core/common/src/traits/binary_transport.rs | 35 +-
core/common/src/wire_conversions.rs | 15 +
core/configs/src/server_config/defaults.rs | 1 +
core/configs/src/server_config/message_bus.rs | 38 +-
core/configs/src/server_config/partition.rs | 4 +-
core/configs/src/server_config/server.rs | 2 +-
core/configs/src/server_config/sharding.rs | 6 +-
core/configs/src/server_config/validators.rs | 8 +-
core/connectors/README.md | 2 +-
core/connectors/runtime/Cargo.toml | 2 +-
core/connectors/runtime/README.md | 2 +
.../example_config/connectors/quickwit_sink.toml | 2 +-
core/connectors/runtime/src/manager/source.rs | 35 +
core/connectors/runtime/src/source.rs | 122 +-
core/connectors/runtime/src/stream.rs | 47 +-
core/connectors/sdk/Cargo.toml | 2 +-
core/connectors/sdk/src/source.rs | 174 +-
core/connectors/sinks/clickhouse_sink/Cargo.toml | 2 +-
core/connectors/sinks/clickhouse_sink/README.md | 48 +-
core/connectors/sinks/clickhouse_sink/config.toml | 13 +-
.../connectors/sinks/clickhouse_sink/src/binary.rs | 273 ++-
.../connectors/sinks/clickhouse_sink/src/client.rs | 4 +-
core/connectors/sinks/delta_sink/Cargo.toml | 2 +-
core/connectors/sinks/delta_sink/README.md | 17 +-
core/connectors/sinks/delta_sink/config.toml | 2 +-
core/connectors/sinks/doris_sink/Cargo.toml | 2 +-
core/connectors/sinks/doris_sink/README.md | 26 +-
core/connectors/sinks/doris_sink/config.toml | 1 -
core/connectors/sinks/doris_sink/src/lib.rs | 6 +-
.../connectors/sinks/elasticsearch_sink/Cargo.toml | 5 +-
core/connectors/sinks/elasticsearch_sink/README.md | 9 +-
.../sinks/elasticsearch_sink/config.toml | 4 +-
.../connectors/sinks/elasticsearch_sink/src/lib.rs | 534 +++++-
core/connectors/sinks/http_sink/Cargo.toml | 2 +-
core/connectors/sinks/iceberg_sink/Cargo.toml | 2 +-
core/connectors/sinks/iceberg_sink/README.md | 69 +-
core/connectors/sinks/iceberg_sink/src/lib.rs | 41 +
core/connectors/sinks/iceberg_sink/src/sink.rs | 10 +
core/connectors/sinks/influxdb_sink/Cargo.toml | 2 +-
core/connectors/sinks/influxdb_sink/README.md | 89 +-
.../connectors/sinks/influxdb_sink/dependencies.md | 4 +-
core/connectors/sinks/influxdb_sink/src/lib.rs | 76 +-
.../connectors/sinks/influxdb_sink/src/protocol.rs | 30 +-
core/connectors/sinks/meilisearch_sink/Cargo.toml | 2 +-
core/connectors/sinks/meilisearch_sink/README.md | 58 +-
core/connectors/sinks/mongodb_sink/Cargo.toml | 2 +-
core/connectors/sinks/mongodb_sink/README.md | 74 +-
core/connectors/sinks/mongodb_sink/src/lib.rs | 9 -
core/connectors/sinks/postgres_sink/Cargo.toml | 2 +-
core/connectors/sinks/postgres_sink/README.md | 108 +-
core/connectors/sinks/postgres_sink/src/lib.rs | 159 +-
core/connectors/sinks/quickwit_sink/Cargo.toml | 2 +-
core/connectors/sinks/quickwit_sink/README.md | 26 +-
core/connectors/sinks/quickwit_sink/config.toml | 2 +-
core/connectors/sinks/quickwit_sink/src/lib.rs | 252 ++-
core/connectors/sinks/rabbitmq_sink/Cargo.toml | 2 +-
core/connectors/sinks/redshift_sink/Cargo.toml | 2 +-
core/connectors/sinks/s3_sink/Cargo.toml | 3 +-
core/connectors/sinks/s3_sink/README.md | 69 +-
core/connectors/sinks/s3_sink/src/buffer.rs | 10 +
core/connectors/sinks/s3_sink/src/client.rs | 15 -
core/connectors/sinks/s3_sink/src/formatter.rs | 56 +-
core/connectors/sinks/s3_sink/src/sink.rs | 493 ++++-
core/connectors/sinks/stdout_sink/Cargo.toml | 2 +-
core/connectors/sinks/surrealdb_sink/Cargo.toml | 2 +-
core/connectors/sinks/surrealdb_sink/README.md | 103 +-
core/connectors/sinks/surrealdb_sink/config.toml | 1 -
core/connectors/sinks/surrealdb_sink/src/lib.rs | 9 +-
core/connectors/sources/README.md | 2 +-
.../sources/elasticsearch_source/Cargo.toml | 6 +-
.../sources/elasticsearch_source/README.md | 335 ++--
.../sources/elasticsearch_source/config.toml | 2 +-
.../sources/elasticsearch_source/src/lib.rs | 337 +++-
.../elasticsearch_source/src/state_manager.rs | 40 +-
core/connectors/sources/http_source/Cargo.toml | 2 +-
core/connectors/sources/influxdb_source/Cargo.toml | 2 +-
core/connectors/sources/influxdb_source/README.md | 106 +-
.../connectors/sources/influxdb_source/config.toml | 10 +-
.../sources/influxdb_source/dependencies.md | 4 +-
.../sources/influxdb_source/src/common.rs | 22 +-
core/connectors/sources/influxdb_source/src/lib.rs | 300 ++-
core/connectors/sources/influxdb_source/src/row.rs | 112 +-
core/connectors/sources/influxdb_source/src/v2.rs | 16 +-
core/connectors/sources/influxdb_source/src/v3.rs | 114 +-
core/connectors/sources/postgres_source/Cargo.toml | 5 +-
core/connectors/sources/postgres_source/README.md | 294 ++-
.../connectors/sources/postgres_source/config.toml | 4 +-
core/connectors/sources/postgres_source/src/lib.rs | 1941 +++++++++++++++++---
core/connectors/sources/random_source/Cargo.toml | 2 +-
core/consensus/src/client_table.rs | 114 ++
.../src/harness/handle/connectors_runtime.rs | 16 +-
core/integration/src/harness/seeds.rs | 8 +-
.../tests/cluster/partition_primary_routing.rs | 831 ++++++++-
.../tests/cluster/register_forwarding.rs | 2 +-
.../connectors/elasticsearch/elasticsearch_sink.rs | 79 +
core/integration/tests/connectors/fixtures/mod.rs | 15 +-
.../tests/connectors/fixtures/mongodb/sink.rs | 2 -
.../tests/connectors/fixtures/postgres/cdc.rs | 41 +
.../tests/connectors/fixtures/postgres/mod.rs | 13 +-
.../tests/connectors/fixtures/postgres/sink.rs | 36 +
.../tests/connectors/fixtures/postgres/source.rs | 361 +++-
.../tests/connectors/fixtures/surrealdb/mod.rs | 4 +-
.../tests/connectors/fixtures/surrealdb/sink.rs | 52 +-
.../tests/connectors/influxdb/influxdb_sink.rs | 6 +-
.../tests/connectors/mongodb/mongodb_sink.rs | 10 +-
core/integration/tests/connectors/postgres/mod.rs | 58 +-
.../tests/connectors/postgres/postgres_sink.rs | 136 +-
.../tests/connectors/postgres/postgres_source.rs | 757 +++++++-
.../connectors/postgres/postgres_source_cdc.rs | 342 +++-
.../tests/connectors/postgres/restart.rs | 3 +-
core/integration/tests/connectors/s3/s3_sink.rs | 18 +-
.../tests/connectors/surrealdb/surrealdb_sink.rs | 33 +-
.../server/scenarios/authentication_scenario.rs | 51 +-
.../scenarios/reconnect_after_restart_scenario.rs | 13 +-
.../scenarios/segment_rotation_race_scenario.rs | 2 +-
.../tests/server/scenarios/system_scenario.rs | 39 +-
core/integration/tests/server/specific.rs | 2 +-
core/journal/src/partition_journal.rs | 183 +-
core/message_bus/src/config.rs | 6 +-
core/message_bus/src/installer/tcp.rs | 4 +-
core/metadata/src/stm/stream.rs | 158 +-
core/partitions/Cargo.toml | 7 +
core/partitions/src/iggy_partition.rs | 717 ++++++--
core/partitions/src/journal.rs | 300 ++-
core/partitions/src/persistence.rs | 113 +-
core/partitions/src/poll_plan.rs | 592 +++++-
core/sdk/Cargo.toml | 3 +-
core/sdk/README.md | 11 +
core/sdk/src/leader_aware.rs | 19 +-
core/sdk/src/lib.rs | 1 +
core/sdk/src/poll_routing.rs | 1284 +++++++++++++
core/sdk/src/quic/quic_client.rs | 111 ++
core/sdk/src/tcp/tcp_client.rs | 263 ++-
core/sdk/src/vsr.rs | 18 +
core/sdk/src/websocket/websocket_client.rs | 221 ++-
core/server/Cargo.toml | 2 +-
core/server/README.md | 8 +
core/server/config.toml | 49 +-
core/server/src/dispatch/authz.rs | 26 +-
core/server/src/dispatch/mod.rs | 36 +-
core/server/src/dispatch/partition.rs | 156 +-
core/server/src/dispatch/reads.rs | 237 ++-
core/server/src/dispatch/submit.rs | 17 +
core/server/src/http.rs | 13 +-
core/server/src/http/forward.rs | 424 ++++-
core/server/src/http/state.rs | 2 +-
core/server/src/http/submit.rs | 2 +
core/server/src/responses.rs | 13 +-
core/server/src/session_manager.rs | 120 ++
core/server_common/src/send_messages.rs | 78 +-
core/shard/Cargo.toml | 2 +-
core/shard/src/lib.rs | 40 +-
core/shard/src/metrics.rs | 35 +
core/shard/src/poll.rs | 127 +-
core/shard/src/poll/completion.rs | 16 +-
core/shard/src/poll/completion_tests.rs | 502 ++++-
core/shard/src/poll/timeout_tests.rs | 4 +-
core/shard/src/router.rs | 18 +-
core/simulator/src/storage/tests.rs | 37 +
examples/node/package-lock.json | 12 +-
examples/python/uv.lock | 2 +-
foreign/csharp/Directory.Packages.props | 10 +-
.../TcpMessageStream.PollRouting.cs | 463 +++++
.../Implementations/TcpMessageStream.Vsr.cs | 8 +
.../IggyClient/Implementations/TcpMessageStream.cs | 26 +-
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs | 2 +-
foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs | 4 +
foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs | 28 +-
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 1 +
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 5 +-
foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs | 14 +-
.../Iggy_SDK_Tests/VsrTests/PrimaryPollingTests.cs | 635 +++++++
.../VsrTests/VsrProtocolDriftTests.cs | 1 +
foreign/csharp/README.md | 11 +-
foreign/go/README.md | 35 +-
foreign/go/client/tcp/cluster.go | 7 +
foreign/go/client/tcp/tcp_core.go | 70 +-
foreign/go/client/tcp/tcp_messaging.go | 17 +-
foreign/go/client/tcp/tcp_poll_routing.go | 435 +++++
foreign/go/client/tcp/tcp_poll_routing_test.go | 815 ++++++++
foreign/go/client/tcp/tcp_session_management.go | 4 +
foreign/go/client/tcp/tcp_testing_test.go | 6 +-
foreign/go/client/tcp/tcp_user_management.go | 40 +
foreign/go/contracts/client.go | 7 +
foreign/go/contracts/version.go | 2 +-
foreign/go/internal/command/code.go | 104 +-
foreign/go/internal/vsr/header.go | 14 +
foreign/go/internal/vsr/header_test.go | 31 +
foreign/go/internal/vsr/protocol_parity_test.go | 1 +
foreign/go/tests/e2e_test.go | 88 +
foreign/java/README.md | 8 +
foreign/java/gradle.properties | 2 +-
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 130 +-
.../iggy/client/async/tcp/AsyncTcpConnection.java | 136 +-
.../iggy/client/async/tcp/LoginRoutingHook.java | 3 +
.../iggy/client/async/tcp/MessagesTcpClient.java | 168 +-
.../apache/iggy/client/async/tcp/PollRouter.java | 499 +++++
.../iggy/client/async/tcp/UsersTcpClient.java | 15 +-
.../client/async/tcp/vsr/ConsensusSession.java | 18 +
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 1 +
.../client/async/tcp/vsr/VsrResponseHandler.java | 6 +
.../org/apache/iggy/serde/BytesSerializer.java | 194 +-
.../java/org/apache/iggy/serde/CommandCode.java | 5 +-
.../AsyncIggyTcpClientTransientFailoverTest.java | 1026 ++++++++++-
.../tcp/AsyncTcpConnectionConcurrencyTest.java | 55 +
.../async/tcp/vsr/VsrResponseHandlerTest.java | 18 +
.../iggy/serde/MessagesBatchWireFormatTest.java | 123 +-
foreign/node/README.md | 7 +
foreign/node/package-lock.json | 4 +-
foreign/node/package.json | 2 +-
foreign/node/src/client/client.connection.ts | 4 +-
foreign/node/src/client/client.socket.test.ts | 641 +++++++
foreign/node/src/client/client.socket.ts | 302 ++-
foreign/node/src/wire/command.code.ts | 4 +
.../src/wire/message/poll-messages.command.test.ts | 14 +
.../node/src/wire/message/poll-messages.command.ts | 5 +-
foreign/node/src/wire/vsr/header.ts | 1 +
foreign/node/src/wire/vsr/index.ts | 2 +-
foreign/python/Cargo.toml | 4 +-
foreign/python/apache_iggy.pyi | 4 +
foreign/python/pyproject.toml | 2 +-
foreign/python/src/client.rs | 20 +-
foreign/python/tests/test_user.py | 36 +
foreign/python/uv.lock | 2 +-
scripts/bump-version.sh | 4 +-
web/package-lock.json | 4 +-
web/package.json | 2 +-
252 files changed, 21080 insertions(+), 3036 deletions(-)
create mode 100644
core/binary_protocol/src/requests/system/attach_consumer_session.rs
create mode 100644 core/binary_protocol/src/responses/messages/poll_routing.rs
create mode 100644 core/sdk/src/poll_routing.rs
create mode 100644
foreign/csharp/Iggy_SDK/IggyClient/Implementations/TcpMessageStream.PollRouting.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/PrimaryPollingTests.cs
create mode 100644 foreign/go/client/tcp/tcp_poll_routing.go
create mode 100644 foreign/go/client/tcp/tcp_poll_routing_test.go
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/PollRouter.java