This is an automated email from the ASF dual-hosted git repository.
krishvishal pushed a change to branch kafka-empty-groups
in repository https://gitbox.apache.org/repos/asf/iggy.git
omit 78d50bfb4 Merge branch 'master' into kafka-empty-groups
omit 708ec7810 Merge branch 'master' into kafka-empty-groups
omit 9ed3f62c3 address review
omit 649c5a5eb Merge branch 'master' into kafka-empty-groups
omit 3cd1923ef feat(gateways): serve DeleteGroups and OffsetDelete, report
Empty groups
add d201cdc95 feat(gateways): answer Kafka ListOffsets by timestamp and
MAX_TIMESTAMP (#4545)
add 9d384d638 test(cluster): port the chaos harness scenarios into the
chaos monkey (#4557)
add 7a15a0d6d test(gateways): cover Kafka produce and consume over SASL
through the bridge (#4539)
add 28bef8f23 feat(connectors): add MQTT source connector (#4303)
add 5d02e19eb chore(deps): Bump the csharp group with 6 updates (#4586)
add c37a94daf feat(sdk)!: activate partition routing and recovery (#4561)
add c5709f520 chore(rust): bump toolchain to 1.99.1 (#4591)
add cd5f531a9 feat(python): return identity details from password and PAT
login (#4276)
add 49a831f38 fix(server)!: drop generated root passwords, journal root,
gate snapshots (#4585)
add 64ce664bf feat(gateways): auto-create Kafka topics on first use (#4582)
add c729a0e34 chore(ci): group Dependabot security updates per ecosystem
(#4541)
add d9c8a50d2 fix(connectors): exclude key and version from connector env
mappings (#4486)
add e7bd30d0b ci: scope .config/** to the Rust test lanes instead of
rust-workspace (#4556)
add 8b3b54c55 fix(sdk): support IPv6 addresses in connection strings
(#4579)
new 7f9ccaec1 feat(gateways): serve DeleteGroups and OffsetDelete, report
Empty groups
new 82aed0ed7 address review
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 (78d50bfb4)
\
N -- N -- N refs/heads/kafka-empty-groups (82aed0ed7)
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.
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:
.devcontainer/Dockerfile | 2 +-
.github/actions/cpp-bazel/pre-merge/action.yml | 3 +-
.github/actions/rust/pre-merge/action.yml | 11 +-
.github/config/components.yml | 3 +-
.github/dependabot.yml | 40 +
.typos.toml | 3 +
AGENTS.md | 2 +-
Cargo.lock | 91 +-
Cargo.toml | 6 +
Dockerfile | 2 +-
README.md | 10 +-
.../features/step_definitions/background_steps.cpp | 3 +-
.../features/step_definitions/messaging_steps.cpp | 13 +-
.../step_definitions/raw_command_steps.cpp | 3 +-
bdd/docker-compose.cluster.yml | 4 +-
bdd/go/go.mod | 1 -
bdd/go/go.sum | 2 -
bdd/php/Dockerfile | 2 +-
bdd/python/Dockerfile | 2 +-
bdd/rust/Dockerfile | 2 +-
core/ai/mcp/Dockerfile | 2 +-
core/ai/mcp/README.md | 14 +
core/ai/mcp/src/main.rs | 11 +
core/ai/mcp/src/service/mod.rs | 86 +-
core/ai/mcp/src/service/requests.rs | 8 +
core/bench/dashboard/server/Dockerfile | 2 +-
core/binary_protocol/src/codes.rs | 13 +-
core/binary_protocol/src/consensus/header.rs | 47 +-
core/binary_protocol/src/consensus/reply_result.rs | 37 +-
core/binary_protocol/src/dispatch.rs | 8 +-
core/binary_protocol/src/responses/messages/mod.rs | 2 -
.../src/responses/messages/poll_routing.rs | 104 -
core/common/src/lib.rs | 7 +
core/common/src/traits/binary_impls/messages.rs | 409 +-
core/common/src/traits/binary_impls/mod.rs | 12 +-
.../traits/binary_impls/personal_access_tokens.rs | 52 +-
core/common/src/traits/binary_impls/users.rs | 63 +-
core/common/src/traits/binary_transport.rs | 201 +-
core/common/src/traits/client.rs | 51 +-
core/common/src/traits/message_client.rs | 4 +-
core/common/src/traits/mod.rs | 2 +-
.../src/traits/personal_access_token_client.rs | 4 +
.../configuration/auth_config/connection_string.rs | 169 +-
core/common/src/types/configuration/mod.rs | 1 +
.../configuration/pending_operations_config.rs | 145 +
.../quic_config/quic_client_config.rs | 6 +-
.../quic_config/quic_client_config_builder.rs | 14 +-
.../quic_config/quic_client_reconnection_config.rs | 10 +-
.../quic_config/quic_connection_string_options.rs | 23 +-
.../configuration/tcp_config/tcp_client_config.rs | 6 +-
.../tcp_config/tcp_client_config_builder.rs | 14 +-
.../tcp_config/tcp_client_reconnection_config.rs | 46 +-
.../tcp_config/tcp_connection_string_options.rs | 23 +-
.../websocket_config/websocket_client_config.rs | 8 +-
.../websocket_client_config_builder.rs | 14 +-
.../websocket_client_reconnection_config.rs | 18 +-
.../websocket_connection_string_options.rs | 18 +-
core/common/src/types/identifier/mod.rs | 12 +
.../configs/src/configs_impl/typed_env_provider.rs | 33 +-
core/connectors/runtime/Dockerfile | 2 +-
.../example_config/connectors/mqtt_source.toml | 73 +
core/connectors/runtime/src/configs/connectors.rs | 26 +
.../src/configs/connectors/local_provider.rs | 74 +
core/connectors/runtime/src/main.rs | 3 +-
core/connectors/runtime/src/manager/source.rs | 3 +-
core/connectors/runtime/src/source.rs | 360 +-
core/connectors/sdk/README.md | 2 +
core/connectors/sources/README.md | 1 +
.../mqtt_source}/Cargo.toml | 22 +-
core/connectors/sources/mqtt_source/README.md | 429 ++
core/connectors/sources/mqtt_source/config.toml | 70 +
core/connectors/sources/mqtt_source/src/driver.rs | 1527 +++++++
core/connectors/sources/mqtt_source/src/lib.rs | 1413 +++++++
core/consensus/src/client_table.rs | 56 +-
core/consensus/src/plane_helpers.rs | 14 +-
core/integration/Cargo.toml | 1 +
core/integration/src/harness/config/server.rs | 2 +
core/integration/src/harness/disk.rs | 214 +-
core/integration/src/harness/handle/common.rs | 66 +-
.../src/harness/handle/connectors_runtime.rs | 2 +-
core/integration/src/harness/handle/mcp.rs | 2 +-
core/integration/src/harness/handle/mod.rs | 2 +-
core/integration/src/harness/handle/server.rs | 78 +-
core/integration/src/harness/mod.rs | 2 +
.../src/harness/orchestrator/builder.rs | 86 +-
.../src/harness/orchestrator/harness.rs | 66 +-
core/integration/src/harness/peer_relay.rs | 356 ++
core/integration/tests/cluster/chaos_monkey.rs | 2429 +++++++++--
.../tests/cluster/client_table_restart.rs | 48 +-
.../tests/cluster/crash_recovery_corruption.rs | 6 +-
.../tests/cluster/failover_client_continuity.rs | 62 +-
.../tests/cluster/fast_primary_rejoin.rs | 28 +-
core/integration/tests/cluster/mod.rs | 1 +
.../tests/cluster/partition_primary_routing.rs | 329 +-
core/integration/tests/cluster/root_credentials.rs | 112 +
core/integration/tests/connectors/fixtures/mod.rs | 6 +
.../tests/connectors/fixtures/mqtt/container.rs | 267 ++
.../tests/connectors/fixtures/mqtt/mod.rs | 404 ++
.../tests/connectors/fixtures/mqtt/publisher.rs | 417 ++
core/integration/tests/connectors/mod.rs | 1 +
.../tests/connectors/{s3 => mqtt}/mod.rs | 2 +-
.../tests/connectors/mqtt/mqtt_source.rs | 741 ++++
.../{doris/sink.toml => mqtt/source.toml} | 2 +-
.../data_integrity/verify_after_server_restart.rs | 8 +-
.../verify_consumer_group_partition_assignment.rs | 4 +
core/integration/tests/mcp/mod.rs | 30 +-
.../server/scenarios/authentication_scenario.rs | 37 +-
.../tests/server/scenarios/permissions_scenario.rs | 15 +-
.../scenarios/reconnect_after_restart_scenario.rs | 1 -
.../stale_client_consumer_group_scenario.rs | 63 +-
core/integration/tests/server/unknown_code_vsr.rs | 22 +-
core/journal/src/prepare_journal.rs | 174 +-
core/metadata/src/impls/metadata.rs | 907 ++++-
core/metadata/src/impls/recovery.rs | 368 +-
.../src/permissioner/permissioner_rules/system.rs | 75 +-
core/metadata/src/stm/authz.rs | 6 +-
core/metadata/src/stm/user.rs | 43 +-
core/partitions/src/iggy_partition.rs | 13 +-
core/sdk/README.md | 69 +-
core/sdk/src/binary/mod.rs | 190 +
core/sdk/src/client_provider.rs | 3 +
core/sdk/src/client_wrappers/binary_client.rs | 17 -
core/sdk/src/client_wrappers/client_wrapper.rs | 61 +
core/sdk/src/client_wrappers/connection_info.rs | 6 +-
core/sdk/src/clients/binary_cluster.rs | 2 +-
core/sdk/src/clients/binary_consumer_group.rs | 38 +-
core/sdk/src/clients/binary_consumer_offset.rs | 24 +-
core/sdk/src/clients/binary_message.rs | 39 +-
core/sdk/src/clients/binary_partitions.rs | 12 +-
.../src/clients/binary_personal_access_tokens.rs | 54 +-
core/sdk/src/clients/binary_segments.rs | 6 +-
core/sdk/src/clients/binary_streams.rs | 14 +-
core/sdk/src/clients/binary_system.rs | 18 +-
core/sdk/src/clients/binary_topics.rs | 26 +-
core/sdk/src/clients/binary_users.rs | 71 +-
core/sdk/src/clients/client.rs | 201 +-
core/sdk/src/clients/client_builder.rs | 22 +-
core/sdk/src/clients/consumer.rs | 1242 ++++--
core/sdk/src/clients/mod.rs | 48 +-
core/sdk/src/clients/producer.rs | 847 ++--
core/sdk/src/clients/producer_builder.rs | 22 +-
core/sdk/src/clients/producer_config.rs | 2 +-
core/sdk/src/clients/producer_error_callback.rs | 6 +
core/sdk/src/consumer_ext/consumer_message_ext.rs | 4 +
core/sdk/src/driver.rs | 1435 ++++++-
core/sdk/src/driver/poll_router.rs | 1572 --------
core/sdk/src/driver/route_cache.rs | 50 +
core/sdk/src/leader_aware.rs | 518 ---
core/sdk/src/lib.rs | 1 -
core/sdk/src/links/connect.rs | 254 +-
core/sdk/src/links/dial.rs | 180 +-
core/sdk/src/links/fake_cluster.rs | 169 +-
core/sdk/src/links/mod.rs | 139 +-
core/sdk/src/links/mux.rs | 24 +-
core/sdk/src/links/quic.rs | 48 +-
core/sdk/src/links/replicas.rs | 751 +++-
core/sdk/src/prelude.rs | 18 +-
core/sdk/src/quic/quic_client.rs | 2094 +---------
core/sdk/src/session_owner.rs | 122 +-
core/sdk/src/session_owner/lanes.rs | 682 +++-
core/sdk/src/session_owner/pending.rs | 151 +
.../stream_builder/build/build_iggy_producer.rs | 3 -
.../stream_builder/config/config_iggy_producer.rs | 42 +-
core/sdk/src/tcp/tcp_client.rs | 4196 +++-----------------
core/sdk/src/vsr.rs | 533 +--
core/sdk/src/websocket/websocket_client.rs | 2436 +-----------
core/server/Cargo.toml | 2 +
core/server/Dockerfile | 2 +-
core/server/README.md | 34 +-
core/server/src/args.rs | 16 +-
core/server/src/boot/credentials.rs | 523 ++-
core/server/src/boot/handoff.rs | 3 +
core/server/src/boot/listeners.rs | 30 +-
core/server/src/boot/mod.rs | 48 +-
core/server/src/boot/recovery.rs | 1 -
core/server/src/dispatch/authz.rs | 16 +-
core/server/src/dispatch/failure.rs | 3 -
core/server/src/dispatch/host.rs | 4 -
core/server/src/dispatch/mod.rs | 311 +-
core/server/src/dispatch/partition.rs | 461 ++-
core/server/src/dispatch/reads.rs | 158 +-
core/server/src/dispatch/session_ops.rs | 27 +
core/server/src/dispatch/submit.rs | 2 +-
core/server/src/http.rs | 2 -
core/server/src/http/handlers.rs | 28 +-
core/server/src/http/reads.rs | 92 +-
core/server/src/http/reply.rs | 14 +
core/server/src/http/state.rs | 4 -
core/server/src/http/submit.rs | 23 +-
core/server/src/main.rs | 21 +-
core/server/src/partition_reconciler.rs | 11 +-
core/server/src/pat.rs | 137 +-
core/server/src/reply_frame.rs | 45 +-
core/server/src/rewrite.rs | 42 +-
core/server/src/server_error.rs | 52 +-
core/server/src/snapshot.rs | 51 +-
core/server/tests/sdk_e2e.rs | 507 ++-
core/shard/Cargo.toml | 1 +
core/shard/src/lib.rs | 5 +-
core/shard/src/poll.rs | 26 +-
core/shard/src/poll/completion_tests.rs | 110 +-
core/simulator/src/deps.rs | 109 +-
core/simulator/src/lib.rs | 562 ++-
core/simulator/src/replica.rs | 46 +-
core/simulator/src/workload/mod.rs | 36 +
docker-compose.yml | 9 +
examples/go/go.mod | 1 -
examples/go/go.sum | 2 -
examples/java/README.md | 2 +-
examples/python/README.md | 2 +-
examples/python/high-level/background_producer.py | 2 -
examples/python/high-level/producer.py | 2 -
examples/rust/README.md | 2 +-
.../stream-builder/stream-producer-config/main.rs | 5 -
foreign/cpp/MODULE.bazel | 2 +-
foreign/cpp/README.md | 74 +
foreign/cpp/include/iggy.hpp | 133 +-
foreign/cpp/src/client.cpp | 114 +-
foreign/cpp/src/client.rs | 235 +-
foreign/cpp/src/lib.rs | 82 +-
foreign/cpp/tests/e2e/client.cpp | 304 +-
foreign/cpp/tests/e2e/consumer_group.cpp | 100 +-
foreign/cpp/tests/e2e/message.cpp | 401 +-
foreign/cpp/tests/e2e/stream.cpp | 6 +-
foreign/cpp/tests/e2e/test_helpers.hpp | 37 +-
foreign/cpp/tests/e2e/topic.cpp | 10 +-
foreign/cpp/tests/unit/unit_tests.cpp | 63 +
foreign/csharp/Directory.Packages.props | 12 +-
.../StepDefinitions/LeaderRedirectionSteps.cs | 21 +-
.../Iggy_SDK.Tests.Integration/HeartbeatTests.cs | 34 +-
.../IggyTlsConnectionTests.cs | 9 +-
.../IggyTypedConsumerTests.cs | 20 +-
.../Iggy_SDK/Configuration/ConnectionString.cs | 25 +-
.../Configuration/IggyClientConfigurator.cs | 34 +-
.../Iggy_SDK/Configuration/ReconnectionSettings.cs | 4 +-
.../Iggy_SDK/Consumers/IggyConsumer.Rented.cs | 4 +-
foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs | 79 +-
.../Exceptions/IggyInvalidStatusCodeException.cs | 3 +
...ctedException.cs => VsrLaneBlockedException.cs} | 11 +-
...tion.cs => VsrOperationNotRetainedException.cs} | 12 +-
.../VsrRequestOutcomeUnknownException.cs | 8 +-
.../Exceptions/VsrSessionEvictedException.cs | 11 +-
foreign/csharp/Iggy_SDK/IggyClient/IIggyClient.cs | 26 +
.../TcpMessageStream.PollRouting.cs | 796 ++--
.../TcpMessageStream.ReplicaLinks.cs | 552 +++
.../Implementations/TcpMessageStream.Vsr.cs | 573 +--
.../IggyClient/Implementations/TcpMessageStream.cs | 587 +--
.../Publishers/BackgroundMessageProcessor.cs | 80 +-
foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs | 5 +-
foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs | 12 +-
.../Iggy_SDK/Vsr/ConsumerGroupClientState.cs | 3 +-
foreign/csharp/Iggy_SDK/Vsr/MutationLanes.cs | 466 +++
foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs | 684 ++--
foreign/csharp/Iggy_SDK/Vsr/VsrError.cs | 5 +
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 11 +
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 4 +-
foreign/csharp/Iggy_SDK/Vsr/VsrReplyDecoder.cs | 15 +-
.../ClientTests/ConnectionStringTests.cs | 72 +
.../ConsumerTests/PartitionIncarnationTests.cs | 322 ++
.../ConsumerTests/RentedConsumerTests.cs | 83 +
.../Iggy_SDK_Tests/UtilityTests/SendUnitTests.cs | 175 +
.../VsrTests/ConsensusSessionTests.cs | 14 +-
.../VsrTests/EndpointFailoverTests.cs | 703 +++-
foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs | 55 +-
.../Iggy_SDK_Tests/VsrTests/MutationLaneTests.cs | 407 ++
.../Iggy_SDK_Tests/VsrTests/NativeRecoveryTests.cs | 1209 ++++++
.../Iggy_SDK_Tests/VsrTests/PrimaryPollingTests.cs | 1201 +++++-
.../Iggy_SDK_Tests/VsrTests/ReplicaLinkTests.cs | 325 ++
.../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs | 2 +-
.../VsrTests/VsrMultiplexingTests.cs | 380 ++
.../VsrTests/VsrReplyDecoderTests.cs | 58 +
foreign/csharp/README.md | 114 +-
foreign/go/README.md | 121 +-
foreign/go/client/iggy_client.go | 60 +-
foreign/go/client/iggy_client_test.go | 15 +-
foreign/go/client/tcp/cluster.go | 60 +-
foreign/go/client/tcp/tcp_connect_test.go | 311 +-
.../go/client/tcp/tcp_consumer_group_management.go | 43 +-
foreign/go/client/tcp/tcp_core.go | 1370 +------
foreign/go/client/tcp/tcp_core_review_test.go | 52 +-
foreign/go/client/tcp/tcp_core_test.go | 283 +-
foreign/go/client/tcp/tcp_driver.go | 593 +++
foreign/go/client/tcp/tcp_driver_test.go | 769 ++++
foreign/go/client/tcp/tcp_failover_test.go | 574 +--
foreign/go/client/tcp/tcp_group_polling.go | 15 +-
foreign/go/client/tcp/tcp_group_polling_test.go | 109 +
foreign/go/client/tcp/tcp_link.go | 232 ++
foreign/go/client/tcp/tcp_link_test.go | 237 ++
foreign/go/client/tcp/tcp_messaging.go | 59 +-
foreign/go/client/tcp/tcp_pending.go | 407 ++
foreign/go/client/tcp/tcp_poll_routing.go | 648 +--
foreign/go/client/tcp/tcp_poll_routing_test.go | 734 ++--
foreign/go/client/tcp/tcp_replicas.go | 608 +++
foreign/go/client/tcp/tcp_replicas_test.go | 641 +++
.../go/client/tcp/tcp_session_credentials_test.go | 201 +
foreign/go/client/tcp/tcp_session_management.go | 616 ++-
foreign/go/client/tcp/tcp_testing_test.go | 118 +-
foreign/go/client/tcp/tcp_topic_cache.go | 14 +
foreign/go/client/tcp/tcp_topic_cache_test.go | 88 +-
foreign/go/client/tcp/tcp_user_management.go | 73 +-
foreign/go/contracts/client.go | 20 +-
foreign/go/errors/errors.yaml | 18 +
foreign/go/errors/errors_gen.go | 57 +
foreign/go/go.mod | 1 -
foreign/go/go.sum | 2 -
foreign/go/internal/command/code.go | 104 +-
foreign/go/internal/vsr/envelope.go | 21 +-
foreign/go/internal/vsr/envelope_test.go | 8 +
foreign/go/internal/vsr/header.go | 29 +-
foreign/go/internal/vsr/reply.go | 58 +-
foreign/go/internal/vsr/reply_test.go | 56 +
foreign/go/internal/vsr/session.go | 7 +-
foreign/go/internal/vsr/session_test.go | 8 +-
foreign/java/README.md | 89 +-
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 528 ++-
.../async/tcp/AsyncIggyTcpClientBuilder.java | 28 +-
.../iggy/client/async/tcp/AsyncTcpConnection.java | 830 +++-
.../client/async/tcp/ConsumerGroupsTcpClient.java | 53 +-
.../client/async/tcp/ConsumerOffsetsTcpClient.java | 11 +-
.../iggy/client/async/tcp/LeaderAwareness.java | 22 +-
.../iggy/client/async/tcp/LoginRoutingHook.java | 9 +-
.../iggy/client/async/tcp/MessagesTcpClient.java | 276 +-
.../iggy/client/async/tcp/PartitionsTcpClient.java | 22 +-
.../async/tcp/PersonalAccessTokensTcpClient.java | 25 +-
.../apache/iggy/client/async/tcp/PollRouter.java | 971 +++--
.../iggy/client/async/tcp/StreamsTcpClient.java | 43 +-
.../iggy/client/async/tcp/SystemTcpClient.java | 49 +-
.../iggy/client/async/tcp/TopicsTcpClient.java | 68 +-
.../iggy/client/async/tcp/UsersTcpClient.java | 39 +-
.../client/async/tcp/vsr/ConsensusSession.java | 541 ++-
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 7 +
.../iggy/client/async/tcp/vsr/VsrOperation.java | 2 +-
.../client/async/tcp/vsr/VsrRequestEncoder.java | 6 +-
.../client/async/tcp/vsr/VsrResponseHandler.java | 232 +-
.../iggy/client/blocking/tcp/IggyTcpClient.java | 18 +
.../client/blocking/tcp/IggyTcpClientBuilder.java | 12 +-
.../java/org/apache/iggy/config/RetryPolicy.java | 10 +-
.../org/apache/iggy/exception/IggyErrorCode.java | 3 +
.../iggy/exception/IggyOperationException.java} | 29 +-
.../java/org/apache/iggy/serde/CommandCode.java | 7 +-
.../apache/iggy/client/BaseIntegrationTest.java | 6 +-
.../AsyncIggyTcpClientEndpointFailoverTest.java | 1131 +++++-
.../tcp/AsyncIggyTcpClientEventLoopGroupTest.java | 4 +-
.../tcp/AsyncIggyTcpClientLoginRoutingTest.java | 81 +-
.../AsyncIggyTcpClientPartitionContextTest.java | 56 +-
.../tcp/AsyncIggyTcpClientRawRequestTest.java | 238 +-
.../async/tcp/AsyncIggyTcpClientRecoveryTest.java | 1532 +++++++
.../AsyncIggyTcpClientSendContextCacheTest.java | 206 +-
.../AsyncIggyTcpClientTransientFailoverTest.java | 198 +-
.../tcp/AsyncTcpConnectionConcurrencyTest.java | 341 +-
.../tcp/AsyncTcpConnectionLifecycleBusyTest.java | 93 +-
.../tcp/AsyncTcpConnectionRequestTimeoutTest.java | 92 +-
.../client/async/tcp/LoginRoutingHookTest.java | 4 +-
.../iggy/client/async/tcp/PollRouterTest.java | 461 ++-
.../client/async/tcp/vsr/ConsensusSessionTest.java | 401 ++
.../async/tcp/vsr/VsrRequestEncoderTest.java | 7 +-
.../async/tcp/vsr/VsrResponseHandlerTest.java | 230 +-
.../client/blocking/tcp/UsersTcpClientTest.java | 12 +
foreign/node/README.md | 158 +-
foreign/node/docker-compose.yml | 3 +
foreign/node/package-lock.json | 10 -
foreign/node/package.json | 1 -
foreign/node/src/client.e2e.ts | 8 +-
foreign/node/src/client/client.config.test.ts | 18 +-
foreign/node/src/client/client.config.ts | 16 +-
.../src/client/client.connection-string.test.ts | 49 +
.../node/src/client/client.connection-string.ts | 19 +-
foreign/node/src/client/client.connection.test.ts | 1145 ++----
foreign/node/src/client/client.connection.ts | 736 +---
foreign/node/src/client/client.operation.test.ts | 289 ++
foreign/node/src/client/client.operation.ts | 440 ++
foreign/node/src/client/client.socket.test.ts | 3188 ++++++++++-----
foreign/node/src/client/client.socket.ts | 2070 ++++------
foreign/node/src/client/client.ts | 124 +-
foreign/node/src/client/client.type.ts | 63 +-
foreign/node/src/e2e/tcp.consumer-stream.e2e.ts | 4 +
foreign/node/src/e2e/tls.system.e2e.ts | 27 +-
foreign/node/src/stream/consumer-stream.ts | 85 +-
foreign/node/src/wire/command-set.ts | 21 +-
foreign/node/src/wire/command.code.ts | 5 +-
foreign/node/src/wire/error.utils.ts | 2 +
.../src/wire/message/poll-messages.command.test.ts | 34 +
.../node/src/wire/message/poll-messages.command.ts | 34 +-
.../node/src/wire/message/send-messages.command.ts | 2 +-
foreign/node/src/wire/vsr/header.ts | 16 +-
foreign/node/src/wire/vsr/index.ts | 13 +-
foreign/node/src/wire/vsr/reply.ts | 50 +-
foreign/node/src/wire/vsr/session.test.ts | 12 +
foreign/node/src/wire/vsr/session.ts | 15 +-
foreign/node/src/wire/vsr/vsr.test.ts | 56 +-
foreign/node/tsconfig.json | 1 +
foreign/php/Dockerfile.test | 2 +-
foreign/php/README.md | 24 +
foreign/php/iggy-php.stubs.php | 78 +-
foreign/php/src/client.rs | 193 +-
foreign/php/src/error.rs | 80 +-
foreign/php/src/lib.rs | 6 +-
foreign/php/tests/RawCommandTest.php | 141 +
foreign/php/tests/bootstrap.php | 4 +-
foreign/python/README.md | 67 +-
foreign/python/apache_iggy.pyi | 218 +-
foreign/python/pyproject.toml | 2 +-
foreign/python/src/client.rs | 216 +-
foreign/python/src/config.rs | 180 +-
foreign/python/src/consumer.rs | 15 +-
foreign/python/src/lib.rs | 12 +-
foreign/python/src/producer.rs | 219 +-
foreign/python/src/user.rs | 71 +-
foreign/python/tests/conftest.py | 35 +-
foreign/python/tests/test_cleanup.py | 169 +
foreign/python/tests/test_client_config.py | 29 +
foreign/python/tests/test_producer.py | 89 +-
foreign/python/tests/test_quic_config.py | 30 +-
foreign/python/tests/test_raw_command.py | 50 +-
foreign/python/tests/test_topic.py | 13 +-
foreign/python/tests/test_user.py | 258 +-
foreign/swift/README.md | 5 +
foreign/swift/Sources/Iggy/Client/ClientCore.swift | 41 +-
.../Sources/Iggy/Client/IggyClient+Messages.swift | 114 +-
foreign/swift/Sources/Iggy/Client/IggyClient.swift | 13 +-
foreign/swift/Sources/Iggy/Client/PollRouter.swift | 138 +-
.../swift/Sources/Iggy/Protocol/CommandCode.swift | 8 +-
.../Sources/Iggy/Protocol/ConsensusSession.swift | 14 +-
.../swift/Sources/Iggy/Protocol/Responses.swift | 43 +-
foreign/swift/Sources/Iggy/Protocol/VSRFrame.swift | 12 +-
.../Tests/IggyTests/ClientTransportTests.swift | 79 +-
.../swift/Tests/IggyTests/ConcurrencyTests.swift | 6 +-
foreign/swift/Tests/IggyTests/Fixtures/golden.json | 2 +-
foreign/swift/Tests/IggyTests/MessagingTests.swift | 220 +-
foreign/swift/Tests/IggyTests/ProtocolTests.swift | 25 +-
.../Tests/IggyTests/ResponseVectorTests.swift | 14 +-
.../Tests/IggyTests/Support/FakeVSRServer.swift | 55 +-
.../swift/Tests/IggyTests/WireVectorTests.swift | 3 +
foreign/swift/Tools/golden-vectors/src/main.rs | 37 +-
gateways/kafka/Dockerfile | 2 +-
gateways/kafka/README.md | 108 +-
gateways/kafka/docker-compose.yml | 2 +-
gateways/kafka/docs/ACL_MAPPING.md | 17 +-
gateways/kafka/docs/AUTHENTICATION.md | 5 +-
gateways/kafka/docs/BRIDGE_MAPPING.md | 57 +-
gateways/kafka/docs/MANUAL_TESTING.md | 41 +-
gateways/kafka/docs/SCOPE.md | 28 +-
gateways/kafka/docs/TEST_SUITE.md | 12 +-
gateways/kafka/docs/kafka_api_keys_reference.md | 8 +-
gateways/kafka/src/bridge/config.rs | 10 +-
gateways/kafka/src/bridge/error.rs | 70 +-
gateways/kafka/src/bridge/iggy_bridge/fetch.rs | 199 +-
.../kafka/src/bridge/iggy_bridge/group_offsets.rs | 41 +-
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 106 +-
gateways/kafka/src/bridge/iggy_bridge/offsets.rs | 114 +-
gateways/kafka/src/bridge/iggy_bridge/produce.rs | 17 +-
gateways/kafka/src/bridge/iggy_bridge/topics.rs | 207 +-
gateways/kafka/src/bridge/mod.rs | 5 +-
gateways/kafka/src/bridge/topic_map.rs | 152 +-
gateways/kafka/src/main.rs | 108 +-
gateways/kafka/src/protocol/api.rs | 47 +-
gateways/kafka/src/protocol/auto_topic_creation.rs | 503 +++
.../kafka/src/protocol/handlers/create_topics.rs | 36 +-
gateways/kafka/src/protocol/handlers/fetch.rs | 32 +-
.../kafka/src/protocol/handlers/list_offsets.rs | 987 ++++-
gateways/kafka/src/protocol/handlers/metadata.rs | 168 +-
gateways/kafka/src/protocol/handlers/mod.rs | 2 +-
gateways/kafka/src/protocol/mod.rs | 1 +
gateways/kafka/src/records.rs | 107 +-
gateways/kafka/src/server.rs | 25 +-
gateways/kafka/tests/api_handler_tests.rs | 2 +-
.../kafka/tests/bridge_iggy_integration_tests.rs | 223 +-
gateways/kafka/tests/common/iggy_server.rs | 18 +-
gateways/kafka/tests/common/scope.rs | 2 +-
gateways/kafka/tests/common/wire.rs | 2 +-
gateways/kafka/tests/golden_wire_fixtures_tests.rs | 4 +-
.../kafka/tests/java/OffsetsForTimesProbe.java | 59 +
gateways/kafka/tests/kafka_client_e2e_tests.rs | 538 ++-
.../kafka/tests/list_offsets_real_bridge_tests.rs | 323 +-
gateways/kafka/tests/metadata_real_bridge_tests.rs | 483 ++-
gateways/kafka/tests/version_firewall_tests.rs | 8 +-
helm/charts/iggy/README.md | 11 +-
helm/charts/iggy/README.md.gotmpl | 11 +-
helm/charts/iggy/examples/cluster-3-node.yaml | 13 +-
helm/charts/iggy/templates/_helpers.tpl | 16 +-
rust-toolchain.toml | 2 +-
scripts/ci/test-helm.sh | 21 +-
.../performance/run-standard-performance-suite.sh | 18 +-
scripts/profile.sh | 2 +-
484 files changed, 55087 insertions(+), 26411 deletions(-)
delete mode 100644 core/binary_protocol/src/responses/messages/poll_routing.rs
create mode 100644
core/common/src/types/configuration/pending_operations_config.rs
create mode 100644
core/connectors/runtime/example_config/connectors/mqtt_source.toml
copy core/connectors/{sinks/elasticsearch_sink =>
sources/mqtt_source}/Cargo.toml (76%)
create mode 100644 core/connectors/sources/mqtt_source/README.md
create mode 100644 core/connectors/sources/mqtt_source/config.toml
create mode 100644 core/connectors/sources/mqtt_source/src/driver.rs
create mode 100644 core/connectors/sources/mqtt_source/src/lib.rs
create mode 100644 core/integration/src/harness/peer_relay.rs
create mode 100644 core/integration/tests/cluster/root_credentials.rs
create mode 100644 core/integration/tests/connectors/fixtures/mqtt/container.rs
create mode 100644 core/integration/tests/connectors/fixtures/mqtt/mod.rs
create mode 100644 core/integration/tests/connectors/fixtures/mqtt/publisher.rs
copy core/integration/tests/connectors/{s3 => mqtt}/mod.rs (97%)
create mode 100644 core/integration/tests/connectors/mqtt/mqtt_source.rs
copy core/integration/tests/connectors/{doris/sink.toml => mqtt/source.toml}
(94%)
delete mode 100644 core/sdk/src/driver/poll_router.rs
delete mode 100644 core/sdk/src/leader_aware.rs
create mode 100644 core/sdk/src/session_owner/pending.rs
copy foreign/csharp/Iggy_SDK/Exceptions/{NotConnectedException.cs =>
VsrLaneBlockedException.cs} (71%)
copy foreign/csharp/Iggy_SDK/Exceptions/{InvalidBaseAddressException.cs =>
VsrOperationNotRetainedException.cs} (60%)
create mode 100644
foreign/csharp/Iggy_SDK/IggyClient/Implementations/TcpMessageStream.ReplicaLinks.cs
create mode 100644 foreign/csharp/Iggy_SDK/Vsr/MutationLanes.cs
create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/MutationLaneTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/NativeRecoveryTests.cs
create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/ReplicaLinkTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrMultiplexingTests.cs
create mode 100644 foreign/go/client/tcp/tcp_driver.go
create mode 100644 foreign/go/client/tcp/tcp_driver_test.go
create mode 100644 foreign/go/client/tcp/tcp_link.go
create mode 100644 foreign/go/client/tcp/tcp_link_test.go
create mode 100644 foreign/go/client/tcp/tcp_pending.go
create mode 100644 foreign/go/client/tcp/tcp_replicas.go
create mode 100644 foreign/go/client/tcp/tcp_replicas_test.go
copy
foreign/java/java-sdk/src/{test/java/org/apache/iggy/exception/IggyNotConnectedExceptionTest.java
=> main/java/org/apache/iggy/exception/IggyOperationException.java} (56%)
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientRecoveryTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/vsr/ConsensusSessionTest.java
create mode 100644 foreign/node/src/client/client.operation.test.ts
create mode 100644 foreign/node/src/client/client.operation.ts
create mode 100644 foreign/python/tests/test_cleanup.py
create mode 100644 gateways/kafka/src/protocol/auto_topic_creation.rs
create mode 100644 gateways/kafka/tests/java/OffsetsForTimesProbe.java