This is an automated email from the ASF dual-hosted git repository.
krishvishal pushed a change to branch sim-workload-faults
in repository https://gitbox.apache.org/repos/asf/iggy.git
discard 1771001c8 feat(simulator): re-establish a session after the cluster
evicts a client
discard 4e9d69cc5 fix(simulator): restore the partition consensus frontier on
restart
discard 9b0dd0586 style: satisfy the pedantic lints the new simulator code
introduced
discard a1c8918d8 fix(simulator): send the client PAT shape through the
dispatch layer
discard 1b5bb4a2b chore(simulator): record tempfile dev-dependency in the
lockfile
discard 007e6537d feat(simulator): checkpoint for real and serve a chunked
state transfer
discard 3d49a07cb feat(simulator): reach state transfer through the snapshot
floor
discard deb2e974e feat(simulator): cover register and logout forwarding, and
measure command reach
discard 059362667 feat(simulator): drive the workload through the dispatch
shell
discard 06e11a116 feat(simulator): assert cross-replica committed log equality
discard 495db105c fix(simulator): skip re-materialising a namespace the
workload deleted
discard 98936dcb7 fix(metadata): gate the backup gap check on the journal, not
the sequencer
discard b98d3a5a6 feat(simulator): carry partition logs across a replica
restart
discard 43d293c98 feat(simulator): inject replica restarts with stability
windows
discard 72e58db67 feat(simulator): resend timed-out client requests
discard f6e5db6a1 feat(simulator): expose the network fault space to the fuzzer
discard c0d9a2104 feat(simulator): select the fuzzer op mix and surface server
diagnostics
discard 46df538e1 fix(simulator): draw the wire consumer kind, not a bare
boolean
add 889088822 chore(deps): Bump tsx from 4.23.5 to 4.23.9 in
/examples/node in the node group across 1 directory (#3879)
add 2a8a5c969 chore(deps): Bump the web group across 1 directory with 2
updates (#3878)
add 46bb40a9a fix(sdk): delete_offset(None) for a standalone consumer
should delete current_partition_id offset (#3882)
add 317ce15e7 chore(deps): Bump github.com/klauspost/compress from 1.19.1
to 1.19.2 in /bdd/go in the go group across 1 directory (#3884)
add 7c0fd6842 feat(common)!: extensible key-value options for topics,
streams, users (#3880)
add ec456d237 ci(security): replace package tokens with OIDC (#3892)
add f42f5abc8 chore: remove resolved TODO comments (#3887)
add be5012ec9 fix(server): restore get_user self-read without read_users
permission (#3897)
add 338cd2eaf refactor(configs): clean up server config after full field
audit (#3895)
add 3e805f30f fix(ci): restore Docker and PyPI releases (#3902)
add aeee0fc54 perf(connectors): add opt-in CSV output format to Doris sink
(#3575)
add d24b69fda fix(cli): bound ping retries, macOS boot smoke, java PAT
expiry (#3903)
add 1890c35f3 feat(csharp): add heartbeat mechanism (#3894)
add 0490a1c85 fix(metadata): enforce namespace caps at admission to stop
aliasing (#3907)
add 18a159a13 refactor(sdk)!: remove v2 bridges and legacy message wire
format (#3904)
add 6043d1940 refactor(consensus): build replies in Owned and clear stale
todos (#3908)
add e71e3c61e chore(deps): Bump the csharp group with 1 update (#3906)
add 15fe5dce9 test(integration): add SIGKILL crash-durability cluster
tests (#3905)
add c9d38ee33 test(bdd): add stream CRUD coverage for Rust and Java (#3875)
add af9ce9548 feat(connectors): add source batch acknowledgments (#3855)
add ab257a039 refactor(consensus): single restore constructor +
wedge/replay/ack fixes (#3909)
new e5cc7ba94 feat(simulator): drive the workload under network and
replica faults
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 (1771001c8)
\
N -- N -- N refs/heads/sim-workload-faults (e5cc7ba94)
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 1 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:
.../actions/csharp-dotnet/post-merge/action.yml | 27 +-
.github/actions/node-npm/post-merge/action.yml | 29 +-
.../actions/python-maturin/post-merge/action.yml | 26 +-
.github/actions/rust/post-merge/action.yml | 6 +-
.github/actions/rust/pre-merge/action.yml | 34 +
.github/actions/utils/docker-buildx/action.yml | 6 +-
.github/workflows/_publish_rust_crates.yml | 63 +-
.github/workflows/post-merge.yml | 77 +-
.github/workflows/publish.yml | 115 +-
Cargo.lock | 170 +-
Cargo.toml | 13 +-
.../features/step_definitions/messaging_steps.cpp | 10 +-
bdd/docker-compose.coverage.yml | 12 +-
bdd/docker-compose.yml | 4 +
bdd/go/go.mod | 4 +-
bdd/go/go.sum | 10 +-
bdd/go/tests/basic_messaging.go | 1 -
bdd/go/tests/tcp_test/stream_feature_get_by_id.go | 6 +-
bdd/go/tests/tcp_test/topic_feature_create.go | 20 +-
bdd/go/tests/tcp_test/topic_feature_update.go | 20 +-
bdd/go/tests/tcp_test/topic_steps.go | 4 +-
.../org/apache/iggy/bdd/BasicMessagingSteps.java | 51 +-
.../test/java/org/apache/iggy/bdd/TestContext.java | 1 +
bdd/python/uv.lock | 2 +-
bdd/rust/Cargo.toml | 5 +
bdd/rust/tests/common/global_context.rs | 1 +
bdd/rust/tests/steps/streams.rs | 125 +-
bdd/rust/tests/steps/topics.rs | 12 +-
.../tests/{basic_messaging.rs => stream_crud.rs} | 2 +-
bdd/scenarios/stream_crud.feature | 52 +
core/ai/mcp/Cargo.toml | 2 +-
core/ai/mcp/src/service/mod.rs | 72 +-
core/ai/mcp/src/service/requests.rs | 23 +-
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 +-
.../bench/src/actors/consumer/client/high_level.rs | 21 +-
core/bench/src/actors/consumer/client/low_level.rs | 11 +-
.../bench/src/actors/producer/client/high_level.rs | 19 +-
core/bench/src/actors/producer/client/low_level.rs | 11 +-
core/bench/src/args/common.rs | 10 +
core/bench/src/benchmarks/benchmark.rs | 40 +-
core/bench/src/benchmarks/common.rs | 11 +-
core/bench/src/runner.rs | 9 +-
core/bench/src/utils/client_factory.rs | 16 +-
core/bench/src/utils/mod.rs | 2 +-
core/binary_protocol/Cargo.toml | 2 +-
core/binary_protocol/src/batch.rs | 663 +++++
core/binary_protocol/src/codec.rs | 43 +-
core/binary_protocol/src/codes.rs | 5 +-
core/binary_protocol/src/consensus/command.rs | 10 +-
core/binary_protocol/src/consensus/error.rs | 12 +-
core/binary_protocol/src/consensus/header.rs | 312 +-
core/binary_protocol/src/consensus/mod.rs | 2 +-
core/binary_protocol/src/consensus/operation.rs | 20 +-
core/binary_protocol/src/dispatch.rs | 98 +-
core/binary_protocol/src/error.rs | 19 +
core/binary_protocol/src/framing.rs | 361 +--
core/binary_protocol/src/lib.rs | 11 +-
core/binary_protocol/src/message_layout.rs | 56 -
core/binary_protocol/src/message_view.rs | 617 ----
core/binary_protocol/src/namespace.rs | 18 +-
core/binary_protocol/src/primitives/consumer.rs | 4 -
core/binary_protocol/src/primitives/mod.rs | 1 +
core/binary_protocol/src/primitives/options.rs | 499 ++++
.../src/primitives/partition_assignment.rs | 11 +-
.../consumer_offsets/delete_consumer_offset.rs | 50 +-
.../consumer_offsets/delete_consumer_offset_2.rs | 199 --
.../src/requests/consumer_offsets/mod.rs | 4 -
.../consumer_offsets/store_consumer_offset.rs | 45 +-
.../consumer_offsets/store_consumer_offset_2.rs | 211 --
core/binary_protocol/src/requests/messages/mod.rs | 4 +-
.../src/requests/messages/send_messages.rs | 661 ++---
.../src/requests/streams/create_stream.rs | 44 +-
.../src/requests/streams/update_stream.rs | 54 +-
.../src/requests/system/describe_options.rs | 88 +
core/binary_protocol/src/requests/system/mod.rs | 4 +
.../src/requests/topics/create_topic.rs | 108 +-
.../topics/create_topic_with_assignments.rs | 79 +-
.../src/requests/topics/update_topic.rs | 88 +-
.../src/requests/users/create_user.rs | 65 +-
.../src/requests/users/update_user.rs | 48 +-
.../src/responses/clients/get_client.rs | 2 +-
.../consumer_groups/get_consumer_group.rs | 2 +-
.../consumer_groups/sync_consumer_group.rs | 4 +-
.../consumer_offsets/delete_consumer_offset_2.rs | 19 -
.../src/responses/consumer_offsets/mod.rs | 4 -
.../consumer_offsets/store_consumer_offset_2.rs | 19 -
.../src/responses/messages/poll_messages.rs | 294 +-
.../src/responses/messages/send_messages.rs | 4 +-
.../src/responses/streams/get_stream.rs | 77 +-
.../src/responses/streams/get_streams.rs | 4 +-
.../src/responses/streams/stream_response.rs | 21 +-
.../src/responses/system/describe_options.rs | 220 ++
.../src/responses/system/get_cluster_metadata.rs | 2 +-
.../src/responses/system/get_stats.rs | 2 +-
core/binary_protocol/src/responses/system/mod.rs | 2 +
.../src/responses/topics/get_topic.rs | 24 +-
.../src/responses/topics/get_topics.rs | 48 +-
.../src/responses/users/get_user.rs | 3 +-
.../src/responses/users/get_users.rs | 4 +-
.../src/responses/users/user_response.rs | 21 +-
core/binary_protocol/src/version.rs | 2 +-
core/cli/Cargo.toml | 2 +-
core/cli/src/args/common.rs | 30 +
core/cli/src/args/mod.rs | 9 +-
core/cli/src/args/system.rs | 9 +-
core/cli/src/args/topic.rs | 16 +-
.../src/commands/binary_streams/update_stream.rs | 16 +-
core/cli/src/commands/binary_system/mod.rs | 1 +
core/cli/src/commands/binary_system/options.rs | 86 +
core/cli/src/commands/binary_system/session.rs | 6 +-
.../cli/src/commands/binary_topics/create_topic.rs | 38 +-
.../cli/src/commands/binary_topics/update_topic.rs | 37 +-
core/cli/src/commands/binary_users/update_user.rs | 6 +
core/cli/src/commands/cli_command.rs | 6 +
core/cli/src/logging.rs | 17 +-
core/cli/src/main.rs | 10 +-
core/common/Cargo.toml | 3 +-
core/common/src/error/iggy_error.rs | 25 +
core/common/src/http/streams/update_stream.rs | 6 +
core/common/src/http/topics/create_topic.rs | 20 +-
core/common/src/http/topics/update_topic.rs | 47 +-
core/common/src/http/users/update_user.rs | 5 +
core/common/src/lib.rs | 1 +
.../src/traits/binary_impls/consumer_offsets.rs | 3 +
core/common/src/traits/binary_impls/messages.rs | 16 +-
core/common/src/traits/binary_impls/streams.rs | 22 +-
core/common/src/traits/binary_impls/system.rs | 28 +-
core/common/src/traits/binary_impls/topics.rs | 27 +-
core/common/src/traits/binary_impls/users.rs | 7 +-
core/common/src/traits/stream_client.rs | 9 +-
core/common/src/traits/system_client.rs | 11 +-
core/common/src/traits/topic_client.rs | 21 +-
core/common/src/traits/user_client.rs | 2 +
core/common/src/types/args/mod.rs | 12 +-
core/common/src/types/message/message_view_mut.rs | 117 -
core/common/src/types/message/mod.rs | 2 -
core/common/src/types/message/polled_messages.rs | 104 +-
core/common/src/types/message/user_headers.rs | 22 +
core/common/src/types/mod.rs | 1 +
core/common/src/types/options/mod.rs | 1531 ++++++++++
core/common/src/types/stream/mod.rs | 8 +-
core/common/src/types/topic/mod.rs | 15 +-
core/common/src/types/user/user_info.rs | 7 +
core/common/src/utils/topic_size.rs | 7 +-
core/common/src/wire_conversions.rs | 254 +-
core/configs/Cargo.toml | 1 -
core/configs/src/common/cache_indexes.rs | 89 -
core/configs/src/common/defaults.rs | 113 +-
core/configs/src/common/displays.rs | 75 +-
core/configs/src/common/http.rs | 48 +-
core/configs/src/common/mod.rs | 1 -
core/configs/src/common/server.rs | 13 -
core/configs/src/common/system.rs | 113 +-
core/configs/src/common/validators.rs | 60 +-
core/configs/src/configs_impl/file_provider.rs | 215 ++
core/configs/src/configs_impl/mod.rs | 2 +-
core/configs/src/lib.rs | 4 +-
core/configs/src/server_config/cluster.rs | 43 +
core/configs/src/server_config/defaults.rs | 57 +-
core/configs/src/server_config/displays.rs | 59 +-
core/configs/src/server_config/partition.rs | 32 +-
core/configs/src/server_config/quic.rs | 110 +-
core/configs/src/server_config/server.rs | 84 +-
core/configs/src/server_config/tcp.rs | 21 -
core/configs/src/server_config/validators.rs | 405 ++-
core/connectors/runtime/Cargo.toml | 2 +-
.../example_config/connectors/doris_sink.toml | 5 +
core/connectors/runtime/src/main.rs | 14 +-
core/connectors/runtime/src/manager/source.rs | 28 +-
core/connectors/runtime/src/source.rs | 364 ++-
core/connectors/sdk/Cargo.toml | 2 +-
core/connectors/sdk/README.md | 29 +
core/connectors/sdk/src/lib.rs | 12 +
core/connectors/sdk/src/source.rs | 897 +++++-
core/connectors/sinks/clickhouse_sink/Cargo.toml | 2 +-
core/connectors/sinks/delta_sink/Cargo.toml | 2 +-
core/connectors/sinks/doris_sink/Cargo.toml | 2 +-
core/connectors/sinks/doris_sink/README.md | 7 +-
core/connectors/sinks/doris_sink/config.toml | 5 +
core/connectors/sinks/doris_sink/src/lib.rs | 364 ++-
.../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/s3_sink/Cargo.toml | 2 +-
core/connectors/sinks/stdout_sink/Cargo.toml | 2 +-
core/connectors/sinks/surrealdb_sink/Cargo.toml | 2 +-
core/connectors/sources/README.md | 33 +-
.../sources/elasticsearch_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/connectors/sources/random_source/src/lib.rs | 91 +-
core/consensus/src/client_table.rs | 8 +-
core/consensus/src/dvc_merge.rs | 4 +-
core/consensus/src/fatal.rs | 4 +
core/consensus/src/impls.rs | 160 +-
core/consensus/src/lib.rs | 7 +-
core/consensus/src/metadata_helpers.rs | 8 +-
core/consensus/src/observability.rs | 2 -
core/consensus/src/plane_helpers.rs | 127 +-
core/consensus/src/state_manifest.rs | 2 +-
core/consensus/src/view_change_quorum.rs | 4 +-
core/consensus/src/vsr_timeout.rs | 12 +-
core/harness_derive/src/attrs.rs | 51 +-
core/harness_derive/src/codegen.rs | 28 +-
core/harness_derive/src/lib.rs | 12 +-
core/integration/src/harness/config/mod.rs | 2 +-
core/integration/src/harness/config/resolve.rs | 155 +-
core/integration/src/harness/disk.rs | 478 ++++
core/integration/src/harness/handle/server.rs | 43 +-
core/integration/src/harness/mod.rs | 1 +
.../src/harness/orchestrator/builder.rs | 9 +-
.../src/harness/orchestrator/harness.rs | 28 +
core/integration/src/harness/seeds.rs | 53 +-
.../test_consumer_group_create_command.rs | 12 +-
.../test_consumer_group_delete_command.rs | 12 +-
.../test_consumer_group_get_command.rs | 12 +-
.../test_consumer_group_list_command.rs | 12 +-
.../test_consumer_offset_get_command.rs | 10 +-
.../test_consumer_offset_set_command.rs | 10 +-
.../tests/cli/general/test_help_command.rs | 7 +-
.../tests/cli/general/test_overview_command.rs | 1 +
.../cli/message/test_message_flush_command.rs | 12 +-
.../tests/cli/message/test_message_poll_command.rs | 10 +-
.../message/test_message_poll_to_file_command.rs | 10 +-
.../tests/cli/message/test_message_send_command.rs | 10 +-
.../message/test_message_send_from_file_command.rs | 10 +-
.../cli/partition/test_partition_create_command.rs | 15 +-
.../cli/partition/test_partition_delete_command.rs | 12 +-
.../tests/cli/stream/test_stream_purge_command.rs | 10 +-
.../tests/cli/system/test_stats_command.rs | 22 +-
.../tests/cli/topic/test_topic_create_command.rs | 32 +-
.../tests/cli/topic/test_topic_delete_command.rs | 12 +-
.../tests/cli/topic/test_topic_get_command.rs | 12 +-
.../tests/cli/topic/test_topic_list_command.rs | 12 +-
.../tests/cli/topic/test_topic_purge_command.rs | 10 +-
.../tests/cli/topic/test_topic_update_command.rs | 53 +-
.../tests/cluster/client_table_adversarial.rs | 461 +++
.../tests/cluster/client_table_restart.rs | 13 +-
core/integration/tests/cluster/crash_durability.rs | 519 ++++
.../tests/cluster/crash_offset_reuse.rs | 143 +
.../tests/cluster/crash_recovery_corruption.rs | 688 +++++
.../tests/cluster/failover_client_continuity.rs | 170 ++
.../tests/cluster/metadata_checkpoint_restart.rs | 2 +-
core/integration/tests/cluster/mod.rs | 5 +
.../cluster/multi_shard_partition_convergence.rs | 10 +-
.../tests/cluster/partition_state_transfer.rs | 41 +-
.../tests/cluster/register_forwarding.rs | 10 +-
core/integration/tests/config_provider/mod.rs | 65 +-
.../tests/connectors/doris/doris_sink.rs | 86 +-
.../doris/doris_stream_load_format_bench.rs | 285 ++
core/integration/tests/connectors/doris/mod.rs | 1 +
.../tests/connectors/fixtures/doris/container.rs | 161 +-
.../tests/connectors/fixtures/doris/mod.rs | 4 +-
.../connectors/fixtures/elasticsearch/container.rs | 62 +-
core/integration/tests/connectors/fixtures/mod.rs | 4 +-
.../tests/connectors/fixtures/s3/fixture.rs | 58 +-
.../tests/connectors/random/random_source.rs | 123 +
.../data_integrity/verify_after_server_restart.rs | 81 +-
.../verify_auto_commit_offset_replicates.rs | 10 +-
.../verify_cluster_replica_data_identical.rs | 254 +-
.../verify_consumer_group_partition_assignment.rs | 196 +-
core/integration/tests/sdk/consumer_group.rs | 20 +-
.../tests/sdk/consumer_group_membership.rs | 37 +-
core/integration/tests/sdk/consumer_offset.rs | 139 +
core/integration/tests/sdk/mod.rs | 2 +
core/integration/tests/sdk/options.rs | 521 ++++
core/integration/tests/sdk/producer/mod.rs | 10 +-
core/integration/tests/sdk/protocol_version.rs | 6 +-
core/integration/tests/sdk/send_confirmation.rs | 10 +-
core/integration/tests/server/cg.rs | 21 +-
core/integration/tests/server/flush_vsr.rs | 13 +-
core/integration/tests/server/general.rs | 19 -
core/integration/tests/server/http_client.rs | 3 +-
core/integration/tests/server/http_rbac.rs | 24 +-
core/integration/tests/server/http_vsr.rs | 61 +-
core/integration/tests/server/legacy_login_vsr.rs | 6 +-
core/integration/tests/server/message_cleanup.rs | 19 +-
core/integration/tests/server/message_retrieval.rs | 130 +-
.../tests/server/partition_view_durability_vsr.rs | 32 +-
.../integration/tests/server/poll_semantics_vsr.rs | 45 +-
core/integration/tests/server/purge_delete.rs | 49 +-
core/integration/tests/server/purge_vsr.rs | 28 +-
.../server/scenarios/authentication_scenario.rs | 52 +-
.../concurrent_produce_consume_scenario.rs | 22 +-
.../tests/server/scenarios/concurrent_scenario.rs | 30 +-
...umer_group_auto_commit_reconnection_scenario.rs | 10 +-
...onsumer_group_duplicate_name_create_scenario.rs | 14 +-
.../scenarios/consumer_group_join_scenario.rs | 16 +-
...er_group_new_messages_after_restart_scenario.rs | 10 +-
.../consumer_group_offset_cleanup_scenario.rs | 10 +-
...h_multiple_clients_polling_messages_scenario.rs | 10 +-
...with_single_client_polling_messages_scenario.rs | 10 +-
.../consumer_timestamp_polling_scenario.rs | 10 +-
.../scenarios/cross_protocol_pat_scenario.rs | 15 +-
.../tests/server/scenarios/encryption_scenario.rs | 42 +-
.../scenarios/invalid_consumer_offset_scenario.rs | 11 +-
.../server/scenarios/log_rotation_scenario.rs | 15 +-
.../server/scenarios/message_cleanup_scenario.rs | 211 +-
.../server/scenarios/message_headers_scenario.rs | 10 +-
.../server/scenarios/message_size_scenario.rs | 10 +-
.../tests/server/scenarios/offset_scenario.rs | 27 +-
.../tests/server/scenarios/permissions_scenario.rs | 134 +-
.../server/scenarios/purge_delete_scenario.rs | 199 +-
.../scenarios/read_during_persistence_scenario.rs | 48 +-
.../scenarios/reconnect_after_restart_scenario.rs | 58 +-
.../scenarios/restart_offset_skip_scenario.rs | 14 +-
.../scenarios/segment_rotation_race_scenario.rs | 32 +-
.../scenarios/single_message_per_batch_scenario.rs | 14 +-
.../stale_client_consumer_group_scenario.rs | 52 +-
.../scenarios/stream_size_validation_scenario.rs | 18 +-
.../tests/server/scenarios/system_scenario.rs | 69 +-
.../tests/server/scenarios/tcp_tls_scenario.rs | 10 +-
.../tests/server/scenarios/timestamp_scenario.rs | 27 +-
.../tests/server/scenarios/user_scenario.rs | 2 +
.../server/scenarios/websocket_tls_scenario.rs | 10 +-
core/integration/tests/server/specific.rs | 51 +-
core/integration/tests/server/stats_vsr.rs | 3 +-
.../tests/server/topic_admission_vsr.rs | 205 +-
core/journal/src/lib.rs | 16 +-
core/journal/src/prepare_journal.rs | 22 +-
core/message_bus/src/config.rs | 43 +-
core/message_bus/src/framing.rs | 8 +-
core/message_bus/src/installer/tcp.rs | 4 +-
core/message_bus/src/lib.rs | 8 +-
.../src/lifecycle/connection_registry.rs | 4 +-
core/message_bus/src/replica/auth.rs | 2 +-
core/message_bus/src/replica/handshake.rs | 14 +-
core/message_bus/src/transports/quic.rs | 41 +-
core/message_bus/src/transports/tcp.rs | 12 +-
core/message_bus/src/transports/tcp_tls.rs | 22 +-
core/message_bus/src/transports/tls/mod.rs | 33 +-
core/message_bus/src/transports/ws.rs | 20 +-
core/message_bus/src/transports/wss.rs | 20 +-
core/message_bus/tests/backpressure.rs | 4 +-
core/message_bus/tests/common/mod.rs | 4 +-
core/message_bus/tests/duplicate_client_id.rs | 4 +-
core/message_bus/tests/graceful_shutdown.rs | 2 +-
core/message_bus/tests/head_of_line.rs | 12 +-
core/message_bus/tests/quic_client_roundtrip.rs | 14 +-
core/message_bus/tests/replica_auth_handshake.rs | 12 +-
core/message_bus/tests/replica_roundtrip.rs | 10 +-
core/message_bus/tests/replica_tls_bench.rs | 4 +-
core/message_bus/tests/replica_tls_roundtrip.rs | 10 +-
core/message_bus/tests/tcp_client_roundtrip.rs | 12 +-
core/message_bus/tests/tcp_tls_client_listener.rs | 10 +-
core/message_bus/tests/tcp_tls_client_roundtrip.rs | 10 +-
core/message_bus/tests/vectored_batch.rs | 4 +-
core/message_bus/tests/ws_client_roundtrip.rs | 10 +-
core/message_bus/tests/wss_client_listener.rs | 10 +-
core/message_bus/tests/wss_client_roundtrip.rs | 10 +-
core/metadata/Cargo.toml | 1 -
core/metadata/src/impls/metadata.rs | 417 ++-
core/metadata/src/impls/mod.rs | 5 +
core/metadata/src/impls/recovery.rs | 44 +-
core/metadata/src/stm/authz.rs | 16 +-
core/metadata/src/stm/consumer_group.rs | 21 +-
core/metadata/src/stm/id_slab.rs | 353 +++
core/metadata/src/stm/mod.rs | 1 +
core/metadata/src/stm/result.rs | 51 +-
core/metadata/src/stm/snapshot.rs | 168 +-
core/metadata/src/stm/stream.rs | 896 +++++-
core/metadata/src/stm/user.rs | 82 +-
core/partitions/src/iggy_partition.rs | 631 +++--
core/partitions/src/iggy_partitions.rs | 22 +-
core/partitions/src/journal.rs | 45 +-
core/partitions/src/lib.rs | 43 +-
core/partitions/src/log.rs | 22 +-
core/partitions/src/messages_writer.rs | 46 +-
core/partitions/src/poll_plan.rs | 12 +-
core/partitions/src/state_transfer.rs | 26 +-
core/partitions/src/types.rs | 1 -
core/sdk/Cargo.toml | 2 +-
.../src/client_wrappers/binary_stream_client.rs | 20 +-
.../src/client_wrappers/binary_system_client.rs | 14 +-
.../sdk/src/client_wrappers/binary_topic_client.rs | 133 +-
core/sdk/src/client_wrappers/binary_user_client.rs | 22 +-
core/sdk/src/clients/binary_streams.rs | 10 +-
core/sdk/src/clients/binary_system.rs | 8 +-
core/sdk/src/clients/binary_topics.rs | 33 +-
core/sdk/src/clients/binary_users.rs | 4 +-
core/sdk/src/clients/consumer.rs | 7 +-
core/sdk/src/clients/producer.rs | 22 +-
core/sdk/src/clients/producer_builder.rs | 5 -
core/sdk/src/http/http_client.rs | 1 -
core/sdk/src/http/streams.rs | 9 +-
core/sdk/src/http/system.rs | 9 +
core/sdk/src/http/topics.rs | 41 +-
core/sdk/src/http/users.rs | 3 +
core/sdk/src/prelude.rs | 20 +-
.../stream_builder/build/build_iggy_producer.rs | 2 -
.../src/stream_builder/build/build_stream_topic.rs | 13 +-
.../stream_builder/config/config_iggy_consumer.rs | 14 -
.../stream_builder/config/config_iggy_producer.rs | 15 -
core/sdk/src/vsr.rs | 37 +-
core/server/Cargo.toml | 4 +-
core/server/config.toml | 375 +--
core/server/src/auth.rs | 2 +-
core/server/src/bootstrap.rs | 414 ++-
core/server/src/consumer_group.rs | 20 +-
core/server/src/dispatch.rs | 305 +-
core/server/src/dispatch/authz.rs | 55 +-
core/server/src/http.rs | 32 +-
core/server/src/http/handlers.rs | 223 +-
core/server/src/http/jwt.rs | 22 +-
core/server/src/http/metrics.rs | 12 +-
core/server/src/http/reads.rs | 15 +
core/server/src/http/reply.rs | 20 +-
core/server/src/http/submit.rs | 8 +-
core/server/src/http/wire.rs | 144 +-
core/server/src/partition_helpers.rs | 233 +-
core/server/src/partition_reconciler.rs | 57 +-
core/server/src/responses.rs | 410 +--
core/server/src/segment_cleaner.rs | 184 +-
core/server/src/segment_recovery.rs | 14 +-
core/server/src/server_error.rs | 11 -
core/server/src/session_manager.rs | 11 +-
core/server/src/wire.rs | 4 +-
core/server_common/Cargo.toml | 3 -
core/server_common/src/consensus_message.rs | 178 +-
.../src/deduplication/message_deduplicator.rs | 125 -
core/server_common/src/deduplication/mod.rs | 20 -
core/server_common/src/in_flight.rs | 100 -
core/server_common/src/indexes_mut.rs | 388 ---
core/server_common/src/iobuf.rs | 10 +-
core/server_common/src/lib.rs | 27 +-
core/server_common/src/messages_batch_mut.rs | 834 ------
core/server_common/src/messages_batch_set.rs | 378 ---
.../src/segment_storage/index_reader.rs | 360 +--
.../src/segment_storage/index_writer.rs | 44 -
.../src/segment_storage/messages_reader.rs | 119 +-
.../src/segment_storage/messages_writer.rs | 34 +-
core/server_common/src/segment_storage/mod.rs | 66 +-
.../src/{send_messages2.rs => send_messages.rs} | 1132 +++-----
core/server_common/src/sharding/mod.rs | 6 +-
core/server_common/src/sharding/namespace.rs | 222 +-
.../segments.rs => server_common/src/storage.rs} | 23 +-
core/shard/Cargo.toml | 6 +-
core/shard/src/lib.rs | 293 +-
core/shard/src/router.rs | 111 +-
core/simulator/src/bin/workload-fuzz.rs | 283 +-
core/simulator/src/client.rs | 160 +-
core/simulator/src/deps.rs | 103 +-
core/simulator/src/executor/mod.rs | 12 +-
core/simulator/src/lib.rs | 2968 ++++++--------------
core/simulator/src/network.rs | 8 +-
core/simulator/src/packet.rs | 140 +-
core/simulator/src/ready_queue.rs | 4 +-
core/simulator/src/replica.rs | 7 +-
core/simulator/src/seeds.rs | 111 +
core/simulator/src/workload/actions.rs | 6 +-
core/simulator/src/workload/auditor.rs | 54 +-
core/simulator/src/workload/ids.rs | 4 +-
core/simulator/src/workload/invariants.rs | 21 +-
core/simulator/src/workload/mod.rs | 575 +++-
core/simulator/src/workload/ops/change_password.rs | 4 +-
.../src/workload/ops/create_consumer_group.rs | 4 +-
.../src/workload/ops/create_partitions.rs | 12 +-
.../workload/ops/create_personal_access_token.rs | 4 +-
core/simulator/src/workload/ops/create_stream.rs | 12 +-
core/simulator/src/workload/ops/create_topic.rs | 12 +-
core/simulator/src/workload/ops/create_user.rs | 15 +-
.../src/workload/ops/delete_consumer_group.rs | 4 +-
.../src/workload/ops/delete_consumer_offset.rs | 18 +-
.../src/workload/ops/delete_consumer_offset_2.rs | 91 -
.../src/workload/ops/delete_partitions.rs | 4 +-
.../workload/ops/delete_personal_access_token.rs | 4 +-
core/simulator/src/workload/ops/delete_segments.rs | 4 +-
core/simulator/src/workload/ops/delete_stream.rs | 4 +-
core/simulator/src/workload/ops/delete_topic.rs | 4 +-
core/simulator/src/workload/ops/delete_user.rs | 4 +-
core/simulator/src/workload/ops/mod.rs | 23 +-
core/simulator/src/workload/ops/purge_stream.rs | 4 +-
core/simulator/src/workload/ops/purge_topic.rs | 4 +-
core/simulator/src/workload/ops/send_messages.rs | 4 +-
.../src/workload/ops/store_consumer_offset.rs | 24 +-
.../src/workload/ops/store_consumer_offset_2.rs | 113 -
.../src/workload/ops/update_permissions.rs | 4 +-
core/simulator/src/workload/ops/update_stream.rs | 7 +-
core/simulator/src/workload/ops/update_topic.rs | 7 +-
core/simulator/src/workload/ops/update_user.rs | 14 +-
core/simulator/src/workload/options.rs | 87 +-
core/simulator/src/workload/oracle.rs | 166 +-
core/simulator/src/workload/shadow.rs | 14 +-
core/simulator/src/workload/state_checker.rs | 169 +-
core/tools/src/data-seeder/seeder.rs | 50 +-
examples/go/getting-started/producer/main.go | 3 +-
examples/go/go.mod | 5 +-
examples/go/go.sum | 12 +-
.../apache/iggy/examples/async/AsyncProducer.java | 2 -
.../producer/GettingStartedProducer.java | 11 +-
.../producer/MessageEnvelopeProducer.java | 8 +-
.../producer/MessageHeadersProducer.java | 8 +-
.../multitenant/producer/MultiTenantProducer.java | 1 -
.../sinkdataproducer/SinkDataProducer.java | 1 -
.../iggy/examples/streambuilder/StreamBasic.java | 8 +-
.../examples/tcptls/producer/TcpTlsProducer.java | 11 +-
examples/node/package-lock.json | 12 +-
examples/node/package.json | 2 +-
examples/node/src/multi-tenant/producer.ts | 1 -
examples/node/src/sink-data-producer/producer.ts | 2 -
examples/node/src/stream-builder/example.ts | 1 -
examples/node/src/utils/index.ts | 1 -
examples/python/basic/producer.py | 1 -
examples/python/getting-started/producer.py | 1 -
examples/python/message-headers/common.py | 1 -
examples/python/uv.lock | 2 +-
examples/rust/src/getting-started/producer/main.rs | 10 +-
.../message-compression/producer/main.rs | 11 +-
examples/rust/src/multi-tenant/producer/main.rs | 1 -
examples/rust/src/new-sdk/producer/main.rs | 1 -
examples/rust/src/shared/system.rs | 13 +-
.../stream-builder/stream-producer-config/main.rs | 3 -
examples/rust/src/tcp-tls/producer/main.rs | 10 +-
foreign/cpp/include/iggy.hpp | 118 +
foreign/cpp/src/client.rs | 103 +-
foreign/cpp/src/lib.rs | 43 +-
foreign/cpp/src/type_conversion.rs | 70 +-
foreign/cpp/tests/e2e/client.cpp | 72 +-
foreign/cpp/tests/e2e/consumer_group.cpp | 156 +-
foreign/cpp/tests/e2e/message.cpp | 152 +-
foreign/cpp/tests/e2e/partition.cpp | 52 +-
foreign/cpp/tests/e2e/stream.cpp | 44 +-
foreign/cpp/tests/e2e/topic.cpp | 485 ++--
foreign/cpp/tests/unit/unit_tests.cpp | 83 +
foreign/csharp/Benchmarks/Program.cs | 1 -
foreign/csharp/Directory.Packages.props | 2 +-
.../Fixtures/IggyServerFixture.cs | 18 +-
.../Fixtures/VsrCluster.cs | 1 -
.../Iggy_SDK.Tests.Integration/HeartbeatTests.cs | 163 ++
.../Iggy_SDK.Tests.Integration/TopicsTests.cs | 16 +-
.../Iggy_SDK/Configuration/AutoLoginSettings.cs | 40 +-
.../Configuration/IggyClientConfigurator.cs | 9 +
.../Iggy_SDK/Configuration/ReconnectionSettings.cs | 8 +-
.../Iggy_SDK/Consumers/IggyConsumerBuilder.cs | 56 +-
.../Iggy_SDK/Consumers/IggyConsumerBuilderOfT.cs | 3 +-
.../Iggy_SDK/Consumers/IggyConsumerConfig.cs | 15 +-
.../csharp/Iggy_SDK/Contracts/Auth/UserResponse.cs | 8 +
.../Iggy_SDK/Contracts/Http/CreateTopicRequest.cs | 14 +-
.../Iggy_SDK/Contracts/Http/UpdateTopicRequest.cs | 6 +-
foreign/csharp/Iggy_SDK/Contracts/OptionSpec.cs | 71 +
.../csharp/Iggy_SDK/Contracts/StreamResponse.cs | 7 +
.../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs | 348 ++-
foreign/csharp/Iggy_SDK/Contracts/TopicOptions.cs | 106 +
foreign/csharp/Iggy_SDK/Contracts/TopicResponse.cs | 39 +-
.../csharp/Iggy_SDK/Factory/IggyClientFactory.cs | 9 +
foreign/csharp/Iggy_SDK/Headers/HeaderValue.cs | 14 +
foreign/csharp/Iggy_SDK/IggyClient/IIggySystem.cs | 18 +
foreign/csharp/Iggy_SDK/IggyClient/IIggyTopic.cs | 26 +-
.../Implementations/HttpMessageStream.cs | 87 +-
.../Implementations/TcpMessageStream.Vsr.cs | 4 +-
.../IggyClient/Implementations/TcpMessageStream.cs | 234 +-
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
.../JsonConverters/ResourceOptionsConverter.cs | 140 +
.../JsonConverters/UserHeadersConverter.cs | 2 +-
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs | 433 ++-
.../Messages/BatchWireFormat.cs} | 21 +-
.../csharp/Iggy_SDK/Publishers/IggyPublisher.cs | 8 +-
.../Iggy_SDK/Publishers/IggyPublisherBuilder.cs | 60 +-
.../Iggy_SDK/Publishers/IggyPublisherBuilderOfT.cs | 3 +-
.../Iggy_SDK/Publishers/IggyPublisherConfig.cs | 22 +-
foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs | 3 +-
.../Iggy_SDK/Utils/TcpMessageStreamHelpers.cs | 4 +-
.../Iggy_SDK/Vsr/{Command2.cs => Command.cs} | 2 +-
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 10 +-
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 17 +-
foreign/csharp/Iggy_SDK/Vsr/VsrReplyDecoder.cs | 4 +-
.../ClientTests/HttpTopicOptionsTests.cs | 179 ++
.../ClientTests/IggyClientFactoryTests.cs | 46 +
.../ConsumerTests/IggyConsumerBuilderTests.cs | 22 +
.../MessageBatchGoldenVectorTests.cs | 182 ++
.../ContractsTests/TopicContractsTests.cs | 103 +
.../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs | 191 +-
.../MapperTests/OptionsBlockGoldenVectorTests.cs | 109 +
.../MapperTests/ResourceOptionsConverterTests.cs | 187 ++
.../PublisherTests/IggyTypedPublisherTests.cs | 3 +-
.../PublisherTests/MessageEncryptionTests.cs | 16 +-
.../UtilityTests/TopicOptionsTests.cs | 70 +
.../csharp/Iggy_SDK_Tests/Utils/BinaryFactory.cs | 105 +-
.../Iggy_SDK_Tests/Utils/Topics/TopicFactory.cs | 5 +-
.../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs | 12 +-
.../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs | 8 +-
.../VsrTests/VsrProtocolDriftTests.cs | 8 +-
.../VsrTests/VsrReplyDecoderTests.cs | 4 +-
.../Iggy_SDK_Tests/VsrTests/VsrTestPayloads.cs | 4 +-
foreign/csharp/README.md | 63 +-
.../go/benchmarks/send_messages_benchmark_test.go | 1 -
.../binary_response_deserializer.go | 311 +-
.../binary_response_deserializer_test.go | 111 +-
.../vsr_response_deserializer_test.go | 201 +-
foreign/go/client/tcp/tcp_core_test.go | 12 +-
.../go/client/tcp/tcp_stream_management_test.go | 6 +-
foreign/go/client/tcp/tcp_topic_management.go | 15 +-
foreign/go/client/tcp/tcp_topic_management_test.go | 29 +-
foreign/go/client/tcp/tcp_utilities.go | 14 +
foreign/go/contracts/client.go | 16 +-
foreign/go/contracts/compression_algorithm.go | 39 +-
foreign/go/contracts/compression_algorithm_test.go | 90 +
foreign/go/contracts/message_header.go | 49 +-
foreign/go/contracts/options.go | 70 +
foreign/go/contracts/stream.go | 13 +-
foreign/go/contracts/topic_options.go | 98 +
foreign/go/contracts/topic_options_test.go | 135 +
foreign/go/contracts/topics.go | 23 +-
foreign/go/contracts/users.go | 9 +-
foreign/go/contracts/version.go | 2 +-
foreign/go/errors/errors.yaml | 212 +-
foreign/go/errors/errors_gen.go | 660 ++++-
foreign/go/go.mod | 5 +-
foreign/go/go.sum | 12 +-
foreign/go/internal/batch/batch.go | 129 +
foreign/go/internal/command/code.go | 101 +-
foreign/go/internal/command/message.go | 84 +-
foreign/go/internal/command/message_test.go | 190 +-
foreign/go/internal/command/offset.go | 14 +-
foreign/go/internal/command/stream.go | 11 +-
foreign/go/internal/command/system.go | 22 +-
foreign/go/internal/command/topic.go | 187 +-
foreign/go/internal/command/topic_test.go | 229 +-
foreign/go/internal/command/update_user.go | 29 +-
foreign/go/internal/command/update_user_test.go | 76 +
foreign/go/internal/vsr/operation.go | 65 +-
foreign/go/internal/vsr/operation_test.go | 10 +-
foreign/go/internal/vsr/protocol_parity_test.go | 12 +-
foreign/go/tests/e2e_helpers_test.go | 16 +-
foreign/go/tests/e2e_test.go | 152 +-
.../common/provision/ResourceProvisioner.java | 2 -
foreign/java/gradle/libs.versions.toml | 6 +
foreign/java/java-sdk/build.gradle.kts | 1 +
.../client/async/PersonalAccessTokensClient.java | 16 +-
.../org/apache/iggy/client/async/SystemClient.java | 14 +
.../org/apache/iggy/client/async/TopicsClient.java | 55 +-
.../client/async/tcp/ConsumerOffsetsTcpClient.java | 3 +
.../iggy/client/async/tcp/MessagesTcpClient.java | 30 +-
.../iggy/client/async/tcp/StreamsTcpClient.java | 6 +
.../iggy/client/async/tcp/SystemTcpClient.java | 19 +
.../iggy/client/async/tcp/TopicsTcpClient.java | 91 +-
.../iggy/client/async/tcp/UsersTcpClient.java | 6 +
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 2 +-
.../iggy/client/async/tcp/vsr/VsrOperation.java | 12 +-
.../blocking/PersonalAccessTokensClient.java | 21 +
.../apache/iggy/client/blocking/SystemClient.java | 12 +
.../apache/iggy/client/blocking/TopicsClient.java | 62 +-
.../client/blocking/http/StreamsHttpClient.java | 37 +-
.../client/blocking/http/SystemHttpClient.java | 24 +
.../client/blocking/http/TopicsHttpClient.java | 139 +-
.../iggy/client/blocking/tcp/SystemTcpClient.java | 7 +
.../iggy/client/blocking/tcp/TopicsTcpClient.java | 14 +-
.../exception/IggyAuthenticationException.java | 6 +-
.../iggy/exception/IggyConflictException.java | 9 +-
.../org/apache/iggy/exception/IggyErrorCode.java | 84 +-
.../exception/IggyResourceNotFoundException.java | 4 +-
.../iggy/exception/IggyValidationException.java | 11 +-
.../java/org/apache/iggy/message/HeaderValue.java | 37 +-
.../org/apache/iggy/message/MessageHeader.java | 6 +-
.../org/apache/iggy/serde/BytesDeserializer.java | 279 +-
.../org/apache/iggy/serde/BytesSerializer.java | 180 +-
.../java/org/apache/iggy/serde/CommandCode.java | 1 +
.../java/org/apache/iggy/stream/StreamBase.java | 18 +-
.../{CacheMetricsKey.java => OptionSpec.java} | 28 +-
.../PollingKind.java => system/OptionsScope.java} | 17 +-
.../src/main/java/org/apache/iggy/topic/Topic.java | 26 +-
.../java/org/apache/iggy/topic/TopicDetails.java | 22 +-
.../java/org/apache/iggy/topic/TopicOptions.java | 109 +
.../apache/iggy/client/BaseIntegrationTest.java | 11 +-
.../client/async/AsyncClientIntegrationTest.java | 24 +-
.../client/async/AsyncConnectionPoolAuthTest.java | 3 -
.../iggy/client/async/AsyncConsumerGroupsTest.java | 18 +-
.../async/tcp/TopicsTcpClientPayloadTest.java | 116 +
.../iggy/client/blocking/IntegrationTest.java | 2 -
.../blocking/PersonalAccessTokensBaseTest.java | 8 +-
.../iggy/client/blocking/SystemClientBaseTest.java | 27 +
.../iggy/client/blocking/TopicsClientBaseTest.java | 46 +-
.../client/blocking/tcp/BytesSerializerTest.java | 102 -
.../client/blocking/tcp/TlsConnectionTest.java | 10 +-
.../client/blocking/tcp/TopicsTcpClientTest.java | 43 +
.../exception/IggyAuthenticationExceptionTest.java | 12 +-
.../iggy/exception/IggyConflictExceptionTest.java | 18 +-
.../apache/iggy/exception/IggyErrorCodeTest.java | 84 +-
.../IggyResourceNotFoundExceptionTest.java | 8 +-
.../exception/IggyValidationExceptionTest.java | 22 +-
.../org/apache/iggy/message/HeaderValueTest.java | 25 +
.../java/org/apache/iggy/message/MessageTest.java | 4 +-
.../apache/iggy/serde/BytesDeserializerTest.java | 157 +-
.../iggy/serde/MessagesBatchWireFormatTest.java | 193 ++
.../iggy/serde/OptionsBlockGoldenVectorTest.java | 65 +
.../org/apache/iggy/stream/StreamDetailsTest.java | 8 +-
.../org/apache/iggy/topic/TopicDetailsTest.java | 7 +-
.../org/apache/iggy/topic/TopicOptionsTest.java | 115 +
foreign/node/README.md | 8 +-
foreign/node/package-lock.json | 27 +-
foreign/node/package.json | 3 +-
foreign/node/scripts/check-vsr-protocol.mjs | 22 +-
foreign/node/src/client/client.config.test.ts | 35 +
foreign/node/src/client/client.config.ts | 23 +
foreign/node/src/client/client.connection.test.ts | 4 +-
foreign/node/src/client/client.connection.ts | 4 +-
foreign/node/src/client/client.frame.test.ts | 4 +-
foreign/node/src/client/client.socket.test.ts | 6 +-
foreign/node/src/client/client.socket.ts | 3 +
foreign/node/src/client/client.type.ts | 7 +-
foreign/node/src/debug.ts | 4 +-
foreign/node/src/e2e/tcp.topic.e2e.ts | 3 +-
foreign/node/src/wire/command-set.ts | 4 +-
foreign/node/src/wire/command.code.ts | 3 +-
foreign/node/src/wire/error.code.test.ts | 29 +-
foreign/node/src/wire/error.code.ts | 101 +-
foreign/node/src/wire/message/iggy-header.utils.ts | 211 +-
.../node/src/wire/message/message-batch.test.ts | 218 ++
foreign/node/src/wire/message/message.utils.ts | 192 +-
.../src/wire/message/poll-messages.command.test.ts | 2 +-
foreign/node/src/wire/message/poll.utils.ts | 127 +-
.../src/wire/message/send-messages.command.test.ts | 4 +-
.../node/src/wire/offset/delete-offset.command.ts | 4 +-
foreign/node/src/wire/offset/offset.utils.ts | 26 +-
foreign/node/src/wire/options.utils.test.ts | 139 +
foreign/node/src/wire/options.utils.ts | 192 ++
foreign/node/src/wire/stream/stream.utils.ts | 11 +-
.../src/wire/system/describe-options.command.ts | 103 +
foreign/node/src/wire/system/index.ts | 1 +
.../src/wire/topic/create-topic.command.test.ts | 94 +-
.../node/src/wire/topic/create-topic.command.ts | 97 +-
foreign/node/src/wire/topic/topic.utils.test.ts | 67 +-
foreign/node/src/wire/topic/topic.utils.ts | 59 +-
.../node/src/wire/topic/update-topic.command.ts | 55 +-
foreign/node/src/wire/user/user.utils.ts | 10 +-
foreign/node/src/wire/vsr/header.test.ts | 6 +-
foreign/node/src/wire/vsr/header.ts | 6 +-
foreign/node/src/wire/vsr/operation.test.ts | 8 +-
foreign/node/src/wire/vsr/operation.ts | 10 +-
foreign/node/src/wire/vsr/reply.test.ts | 8 +-
foreign/node/src/wire/vsr/reply.ts | 6 +-
foreign/node/src/wire/vsr/vsr.test.ts | 2 +-
foreign/php/iggy-php.stubs.php | 10 +-
foreign/php/src/client.rs | 35 +-
foreign/python/Cargo.toml | 2 +-
foreign/python/apache_iggy.pyi | 118 +-
foreign/python/pyproject.toml | 2 +-
foreign/python/src/client.rs | 139 +-
foreign/python/src/lib.rs | 3 +
foreign/python/src/options.rs | 109 +
foreign/python/src/topic.rs | 63 +-
foreign/python/src/user_headers.rs | 12 +
foreign/python/tests/test_topic.py | 235 +-
foreign/python/uv.lock | 2 +-
helm/charts/iggy/README.md | 3 +-
helm/charts/iggy/templates/servicemonitor.yaml | 4 +
helm/charts/iggy/values.yaml | 7 +
package-lock.json | 110 +
package.json | 5 +
.../performance/run-standard-performance-suite.sh | 6 +-
scripts/performance/utils.sh | 11 +-
scripts/run-bdd-tests.sh | 36 +-
web/package-lock.json | 32 +-
web/package.json | 6 +-
763 files changed, 32704 insertions(+), 17405 deletions(-)
copy bdd/rust/tests/{basic_messaging.rs => stream_crud.rs} (93%)
create mode 100644 bdd/scenarios/stream_crud.feature
create mode 100644 core/binary_protocol/src/batch.rs
delete mode 100644 core/binary_protocol/src/message_layout.rs
delete mode 100644 core/binary_protocol/src/message_view.rs
create mode 100644 core/binary_protocol/src/primitives/options.rs
delete mode 100644
core/binary_protocol/src/requests/consumer_offsets/delete_consumer_offset_2.rs
delete mode 100644
core/binary_protocol/src/requests/consumer_offsets/store_consumer_offset_2.rs
create mode 100644 core/binary_protocol/src/requests/system/describe_options.rs
delete mode 100644
core/binary_protocol/src/responses/consumer_offsets/delete_consumer_offset_2.rs
delete mode 100644
core/binary_protocol/src/responses/consumer_offsets/store_consumer_offset_2.rs
create mode 100644
core/binary_protocol/src/responses/system/describe_options.rs
create mode 100644 core/cli/src/commands/binary_system/options.rs
delete mode 100644 core/common/src/types/message/message_view_mut.rs
create mode 100644 core/common/src/types/options/mod.rs
delete mode 100644 core/configs/src/common/cache_indexes.rs
create mode 100644 core/integration/src/harness/disk.rs
create mode 100644 core/integration/tests/cluster/client_table_adversarial.rs
create mode 100644 core/integration/tests/cluster/crash_durability.rs
create mode 100644 core/integration/tests/cluster/crash_offset_reuse.rs
create mode 100644 core/integration/tests/cluster/crash_recovery_corruption.rs
create mode 100644 core/integration/tests/cluster/failover_client_continuity.rs
create mode 100644
core/integration/tests/connectors/doris/doris_stream_load_format_bench.rs
create mode 100644 core/integration/tests/sdk/consumer_offset.rs
create mode 100644 core/integration/tests/sdk/options.rs
create mode 100644 core/metadata/src/stm/id_slab.rs
delete mode 100644 core/server_common/src/deduplication/message_deduplicator.rs
delete mode 100644 core/server_common/src/deduplication/mod.rs
delete mode 100644 core/server_common/src/in_flight.rs
delete mode 100644 core/server_common/src/indexes_mut.rs
delete mode 100644 core/server_common/src/messages_batch_mut.rs
delete mode 100644 core/server_common/src/messages_batch_set.rs
rename core/server_common/src/{send_messages2.rs => send_messages.rs} (55%)
copy core/{metadata/src/permissioner/permissioner_rules/segments.rs =>
server_common/src/storage.rs} (70%)
create mode 100644 core/simulator/src/seeds.rs
delete mode 100644 core/simulator/src/workload/ops/delete_consumer_offset_2.rs
delete mode 100644 core/simulator/src/workload/ops/store_consumer_offset_2.rs
create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/HeartbeatTests.cs
create mode 100644 foreign/csharp/Iggy_SDK/Contracts/OptionSpec.cs
create mode 100644 foreign/csharp/Iggy_SDK/Contracts/TopicOptions.cs
create mode 100644
foreign/csharp/Iggy_SDK/JsonConverters/ResourceOptionsConverter.cs
copy foreign/csharp/{Iggy_SDK_Tests/Utils/Errors/ErrorModelFactory.cs =>
Iggy_SDK/Messages/BatchWireFormat.cs} (70%)
rename foreign/csharp/Iggy_SDK/Vsr/{Command2.cs => Command.cs} (97%)
create mode 100644
foreign/csharp/Iggy_SDK_Tests/ClientTests/HttpTopicOptionsTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/ContractsTests/MessageBatchGoldenVectorTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/ContractsTests/TopicContractsTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/MapperTests/OptionsBlockGoldenVectorTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/MapperTests/ResourceOptionsConverterTests.cs
create mode 100644
foreign/csharp/Iggy_SDK_Tests/UtilityTests/TopicOptionsTests.cs
create mode 100644 foreign/go/contracts/compression_algorithm_test.go
create mode 100644 foreign/go/contracts/options.go
create mode 100644 foreign/go/contracts/topic_options.go
create mode 100644 foreign/go/contracts/topic_options_test.go
create mode 100644 foreign/go/internal/batch/batch.go
create mode 100644 foreign/go/internal/command/update_user_test.go
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/system/{CacheMetricsKey.java
=> OptionSpec.java} (51%)
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{message/PollingKind.java
=> system/OptionsScope.java} (81%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/TopicOptions.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/TopicsTcpClientPayloadTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/serde/MessagesBatchWireFormatTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/serde/OptionsBlockGoldenVectorTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/topic/TopicOptionsTest.java
create mode 100644 foreign/node/src/wire/message/message-batch.test.ts
create mode 100644 foreign/node/src/wire/options.utils.test.ts
create mode 100644 foreign/node/src/wire/options.utils.ts
create mode 100644 foreign/node/src/wire/system/describe-options.command.ts
create mode 100644 foreign/python/src/options.rs
create mode 100644 package-lock.json
create mode 100644 package.json