This is an automated email from the ASF dual-hosted git repository.
hubcio pushed a change to branch feat/ownership-and-history
in repository https://gitbox.apache.org/repos/asf/iggy.git
omit 35f833acf feat(partitions)!: fence ownership and history changes
add 789c2e045 feat(gateways): answer OffsetCommit and OffsetFetch (#4415)
add 09420cf4d test(gateways): cover Kafka consumer groups end to end
(#4431)
add 2eac34938 test(server): expect per-topic size and message count on
/metrics (#4475)
add 875699426 ci(repo): move jobs off ubuntu-latest to cut runner queue
time (#4479)
add 5753d4958 refactor!: remove the purge API and its server machinery
(#4477)
add 5ded8ff62 feat(configs): list configuration environment variables
(#4350)
new 219b99f70 feat(partitions)!: fence ownership and history changes
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 (35f833acf)
\
N -- N -- N refs/heads/feat/ownership-and-history (219b99f70)
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:
.config/nextest.toml | 1 +
.github/actions/php/pre-merge/action.yml | 16 +-
.github/actions/rust/pre-merge/action.yml | 3 +
.github/actions/utils/setup-swift/action.yml | 55 +-
.github/workflows/_build_python_wheels.yml | 12 +-
.github/workflows/_build_rust_artifacts.yml | 17 +-
.github/workflows/_common.yml | 32 +-
.github/workflows/_detect.yml | 2 +-
.github/workflows/_publish_rust_crates.yml | 2 +-
.github/workflows/_test.yml | 4 +-
.github/workflows/_test_bdd.yml | 2 +-
.github/workflows/_test_examples.yml | 14 +-
.github/workflows/codecov-notify.yml | 2 +-
.github/workflows/coverage-baseline.yml | 18 +-
.github/workflows/edge-release.yml | 2 +-
.github/workflows/issue-labeler-assigner.yml | 2 +-
.github/workflows/post-merge.yml | 4 +-
.github/workflows/pr-skill-review-post.yml | 2 +-
.github/workflows/pr-skill-review-run.yml | 2 +-
.github/workflows/pr-title.yml | 2 +-
.github/workflows/pr-triage-apply.yml | 2 +-
.github/workflows/pr-triage-collect.yml | 2 +-
.github/workflows/pre-merge.yml | 2 +-
.github/workflows/publish.yml | 20 +-
.github/workflows/stale-prs-unmark-on-activity.yml | 2 +-
.github/workflows/stale-prs-unmark.yml | 2 +-
.github/workflows/stale-prs.yml | 2 +-
.pr4372-comments.json | 0
Cargo.lock | 4 +-
bdd/go/tests/tcp_test/consumers_steps.go | 2 -
core/ai/mcp/Cargo.toml | 1 +
core/ai/mcp/README.md | 6 +-
core/ai/mcp/src/error.rs | 2 +
core/ai/mcp/src/main.rs | 34 +-
core/ai/mcp/src/service/mod.rs | 25 -
core/ai/mcp/src/service/requests.rs | 15 -
core/binary_protocol/src/codes.rs | 8 +-
core/binary_protocol/src/consensus/error.rs | 8 +-
core/binary_protocol/src/consensus/header.rs | 83 +-
core/binary_protocol/src/consensus/operation.rs | 45 +-
core/binary_protocol/src/dispatch.rs | 70 +-
core/binary_protocol/src/lib.rs | 1 +
.../src/primitives/partition_history.rs | 58 +-
.../src/requests/messages/get_send_context.rs | 2 +-
.../partitions/install_consumer_group_owner.rs | 36 +-
.../partitions/retire_consumer_group_owners.rs | 20 +-
.../partitions/transition_partition_history.rs | 81 +-
core/binary_protocol/src/requests/streams/mod.rs | 2 -
.../src/requests/streams/purge_stream.rs | 60 -
core/binary_protocol/src/requests/topics/mod.rs | 2 -
.../src/requests/topics/purge_topic.rs | 86 -
.../src/responses/messages/poll_messages.rs | 15 +-
core/binary_protocol/src/responses/streams/mod.rs | 2 -
.../src/responses/streams/purge_stream.rs | 19 -
.../src/responses/topics/get_topic.rs | 9 +-
core/binary_protocol/src/responses/topics/mod.rs | 2 -
.../src/responses/topics/purge_topic.rs | 19 -
core/cli/src/args/stream.rs | 18 -
core/cli/src/args/topic.rs | 27 -
core/cli/src/commands/binary_streams/mod.rs | 1 -
.../src/commands/binary_streams/purge_stream.rs | 59 -
core/cli/src/commands/binary_topics/mod.rs | 1 -
core/cli/src/commands/binary_topics/purge_topic.rs | 67 -
core/cli/src/main.rs | 9 +-
.../http/consumer_offsets/store_consumer_offset.rs | 4 +-
core/common/src/http/streams/mod.rs | 1 -
core/common/src/http/streams/purge_stream.rs | 37 -
core/common/src/http/topics/mod.rs | 1 -
core/common/src/http/topics/purge_topic.rs | 41 -
.../src/traits/binary_impls/consumer_offsets.rs | 6 +-
core/common/src/traits/binary_impls/streams.rs | 17 +-
core/common/src/traits/binary_impls/topics.rs | 27 +-
core/common/src/traits/binary_transport.rs | 29 +-
core/common/src/traits/consumer_offset_client.rs | 9 +-
core/common/src/traits/message_client.rs | 2 +-
core/common/src/traits/partition_client.rs | 5 +-
core/common/src/traits/stream_client.rs | 4 -
core/common/src/traits/topic_client.rs | 8 -
.../src/types/consumer/consumer_offset_info.rs | 7 +-
core/common/src/types/message/polled_messages.rs | 4 +-
core/common/src/types/message/polling_strategy.rs | 6 +-
.../src/types/options/partition_resize_policy.rs | 2 +-
core/common/src/types/partition/mod.rs | 5 +-
core/configs/src/common/validators.rs | 18 -
core/configs/src/configs_impl/env_listing.rs | 102 +
core/configs/src/configs_impl/env_mapping.rs | 111 +
core/configs/src/configs_impl/file_provider.rs | 11 +-
core/configs/src/configs_impl/mod.rs | 9 +-
.../configs/src/configs_impl/typed_env_provider.rs | 41 +-
core/configs/src/lib.rs | 5 +-
core/configs/src/server_config/cluster.rs | 22 +-
core/configs/src/server_config/server.rs | 66 +-
core/configs_derive/src/config_env.rs | 225 +-
core/connectors/runtime/README.md | 4 +
core/connectors/runtime/src/configs/connectors.rs | 2 +-
.../src/configs/connectors/local_provider.rs | 27 +-
core/connectors/runtime/src/error.rs | 4 +
core/connectors/runtime/src/main.rs | 106 +-
core/consensus/src/impls.rs | 30 +-
core/consensus/src/observability.rs | 2 -
core/consensus/src/state_manifest.rs | 5 +-
core/integration/src/harness/config/resolve.rs | 15 +-
core/integration/tests/cli/stream/mod.rs | 1 -
.../tests/cli/stream/test_stream_help_command.rs | 1 -
.../tests/cli/stream/test_stream_purge_command.rs | 223 -
core/integration/tests/cli/topic/mod.rs | 1 -
.../tests/cli/topic/test_topic_help_command.rs | 1 -
.../tests/cli/topic/test_topic_purge_command.rs | 295 --
.../tests/cluster/consumer_offset_quota.rs | 74 +-
core/integration/tests/cluster/partition_dedup.rs | 62 +-
core/integration/tests/config_env_listing/mod.rs | 312 ++
.../tests/data_integrity/storage_compat.rs | 264 +-
.../verify_consumer_group_partition_assignment.rs | 18 +-
core/integration/tests/mcp/mod.rs | 24 +-
core/integration/tests/mod.rs | 1 +
.../tests/sdk/consumer_group_membership.rs | 49 +-
.../server/{purge_delete.rs => delete_segments.rs} | 22 +-
.../tests/server/descriptor_exhaustion_vsr.rs | 4 +-
core/integration/tests/server/http_vsr.rs | 40 +
core/integration/tests/server/mod.rs | 11 +-
core/integration/tests/server/purge_vsr.rs | 231 -
core/integration/tests/server/raw_tcp.rs | 18 +-
.../server/scenarios/authentication_scenario.rs | 2 -
...ete_scenario.rs => delete_segments_scenario.rs} | 464 --
.../scenarios/delete_stats_rollback_scenario.rs | 8 +-
core/integration/tests/server/scenarios/mod.rs | 4 +-
.../stale_client_consumer_group_scenario.rs | 3 +-
.../scenarios/stream_size_validation_scenario.rs | 52 +-
.../tests/server/scenarios/system_scenario.rs | 78 -
core/integration/tests/server/topic_metrics_vsr.rs | 114 +
core/integration/tests/server/unknown_code_vsr.rs | 136 +-
core/journal/src/partition_journal.rs | 320 +-
core/journal/src/partition_journal/segments.rs | 17 +-
core/metadata/src/impls/metadata.rs | 32 +-
.../src/permissioner/permissioner_rules/streams.rs | 4 -
.../src/permissioner/permissioner_rules/topics.rs | 9 -
core/metadata/src/stm/authz.rs | 26 +-
core/metadata/src/stm/consumer_group.rs | 118 +-
core/metadata/src/stm/lifecycle.rs | 205 +-
core/metadata/src/stm/result.rs | 54 +-
core/metadata/src/stm/snapshot.rs | 15 +-
core/metadata/src/stm/stream.rs | 709 +--
core/partitions/Cargo.toml | 1 -
core/partitions/src/iggy_partition.rs | 5421 ++++++--------------
core/partitions/src/iggy_partitions.rs | 18 +-
core/partitions/src/io.rs | 92 +-
core/partitions/src/journal.rs | 85 +-
core/partitions/src/lib.rs | 4 +-
core/partitions/src/log.rs | 28 +-
core/partitions/src/offset_storage.rs | 270 +-
core/partitions/src/persistence.rs | 28 -
core/partitions/src/poll_plan.rs | 14 +-
core/partitions/src/state_transfer.rs | 366 +-
core/partitions/tests/consumer_offset_history.rs | 649 +--
.../src/client_wrappers/binary_stream_client.rs | 10 -
.../sdk/src/client_wrappers/binary_topic_client.rs | 14 -
core/sdk/src/clients/binary_streams.rs | 4 -
core/sdk/src/clients/binary_topics.rs | 12 -
core/sdk/src/clients/client.rs | 4 +-
core/sdk/src/clients/consumer.rs | 332 +-
core/sdk/src/clients/producer.rs | 20 +-
core/sdk/src/http/consumer_offsets.rs | 18 +-
core/sdk/src/http/streams.rs | 9 -
core/sdk/src/http/topics.rs | 13 -
core/sdk/src/poll_routing.rs | 141 +-
core/sdk/src/prelude.rs | 18 +-
core/sdk/src/quic/quic_client.rs | 26 +-
core/sdk/src/tcp/tcp_client.rs | 83 +-
core/sdk/src/vsr.rs | 5 +
core/sdk/src/websocket/websocket_client.rs | 26 +-
core/server/README.md | 10 +-
core/server/config.toml | 7 +-
core/server/server.http | 8 -
core/server/src/args.rs | 39 +
core/server/src/boot/mod.rs | 47 +-
core/server/src/consumer_group.rs | 20 +-
core/server/src/dispatch/authz.rs | 2 -
core/server/src/dispatch/failure.rs | 137 +-
core/server/src/dispatch/mod.rs | 166 +-
core/server/src/dispatch/partition.rs | 439 +-
core/server/src/dispatch/test_support.rs | 4 +
core/server/src/http.rs | 11 +-
core/server/src/http/handlers.rs | 105 +-
core/server/src/http/metrics.rs | 2 +-
core/server/src/http/submit.rs | 5 +-
core/server/src/http/wire.rs | 5 +-
core/server/src/lib.rs | 2 +-
core/server/src/main.rs | 17 +-
core/server/src/partition_helpers.rs | 14 +-
core/server/src/partition_reconciler.rs | 429 +-
core/server/src/reply_frame.rs | 18 +-
core/server/src/responses.rs | 7 +-
core/server/src/server_error.rs | 4 +-
core/server_common/src/consensus_message.rs | 13 +-
core/shard/src/lib.rs | 212 +-
core/shard/src/metrics.rs | 32 +-
core/shard/src/partition_io.rs | 286 +-
core/shard/src/poll.rs | 31 +-
core/shard/src/poll/completion_tests.rs | 56 +-
core/shard/src/poll/test_support.rs | 3 +-
core/shard/src/router.rs | 24 +-
core/simulator/src/client.rs | 31 +-
.../simulator/src/consumer_offset_history_tests.rs | 219 -
core/simulator/src/lib.rs | 152 +-
core/simulator/src/storage.rs | 2 +-
core/simulator/src/storage/bookmark_recovery.rs | 407 ++
core/simulator/src/storage/purge.rs | 924 ----
core/simulator/src/storage/tests.rs | 107 +-
core/simulator/src/workload/actions.rs | 4 +-
core/simulator/src/workload/mod.rs | 43 +
core/simulator/src/workload/ops/mod.rs | 4 -
core/simulator/src/workload/ops/purge_stream.rs | 74 -
core/simulator/src/workload/ops/purge_topic.rs | 83 -
core/simulator/src/workload/options.rs | 6 +-
core/simulator/src/workload/oracle.rs | 4 +-
.../apache/iggy/examples/ConsumerOffsetTest.java | 11 +-
foreign/cpp/include/iggy.hpp | 31 +-
foreign/cpp/src/client.cpp | 8 -
foreign/cpp/src/client.rs | 37 -
foreign/cpp/src/lib.rs | 15 -
foreign/cpp/src/type_conversion.rs | 18 +-
foreign/cpp/tests/e2e/stream.cpp | 372 --
foreign/cpp/tests/e2e/topic.cpp | 331 --
foreign/cpp/tests/unit/unit_tests.cpp | 2 -
.../Helpers/Eventually.cs | 43 -
.../Iggy_SDK.Tests.Integration/StreamsTests.cs | 32 -
.../Iggy_SDK.Tests.Integration/TopicsTests.cs | 32 -
.../Iggy_SDK/Consumers/IggyConsumer.Rented.cs | 1 +
foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs | 15 +-
.../Iggy_SDK/Contracts/Auth/GlobalPermissions.cs | 7 +-
.../Iggy_SDK/Contracts/Http/StoreOffsetRequest.cs | 1 +
.../csharp/Iggy_SDK/Contracts/PartitionContext.cs | 14 +-
.../csharp/Iggy_SDK/Contracts/PartitionResponse.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/PolledMessages.cs | 2 +-
.../Iggy_SDK/Contracts/PolledMessagesRental.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/StreamPermissions.cs | 7 +-
.../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs | 7 -
.../csharp/Iggy_SDK/Contracts/TopicPermissions.cs | 7 +-
foreign/csharp/Iggy_SDK/IggyClient/IIggyOffset.cs | 16 +
foreign/csharp/Iggy_SDK/IggyClient/IIggyStream.cs | 12 -
foreign/csharp/Iggy_SDK/IggyClient/IIggyTopic.cs | 13 -
.../Implementations/HttpMessageStream.cs | 39 +-
.../TcpMessageStream.PollRouting.cs | 126 +-
.../Implementations/TcpMessageStream.Vsr.cs | 2 +-
.../IggyClient/Implementations/TcpMessageStream.cs | 63 +-
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs | 22 +-
foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs | 2 -
foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs | 2 +-
foreign/csharp/Iggy_SDK/Vsr/VsrError.cs | 1 +
foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs | 13 +-
foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs | 10 +-
.../ClientTests/HttpConsumerOffsetTests.cs} | 27 +-
.../ClientTests/HttpTopicOptionsTests.cs | 19 +-
.../MessageBatchGoldenVectorTests.cs | 12 +-
.../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs | 45 +-
.../csharp/Iggy_SDK_Tests/Utils/BinaryFactory.cs | 17 +
.../Iggy_SDK_Tests/VsrTests/GroupPollingTests.cs | 2 +-
foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs | 13 +-
.../VsrTests/PartitionContextTests.cs | 340 ++
.../Iggy_SDK_Tests/VsrTests/PrimaryPollingTests.cs | 6 +-
.../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs | 14 +
.../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs | 6 +-
.../VsrTests/VsrProtocolDriftTests.cs | 3 +
foreign/go/README.md | 8 +-
.../binary_response_deserializer.go | 2 +-
.../vsr_response_deserializer_test.go | 4 +-
foreign/go/client/tcp/tcp_core.go | 27 +-
foreign/go/client/tcp/tcp_core_test.go | 55 +
foreign/go/client/tcp/tcp_group_polling_test.go | 2 +-
foreign/go/client/tcp/tcp_messaging.go | 53 +-
foreign/go/client/tcp/tcp_offset_management.go | 15 +
foreign/go/client/tcp/tcp_partition_management.go | 2 +-
foreign/go/client/tcp/tcp_poll_routing.go | 6 +-
foreign/go/client/tcp/tcp_poll_routing_test.go | 91 +-
foreign/go/client/tcp/tcp_testing_test.go | 6 +-
foreign/go/client/tcp/tcp_topic_cache.go | 37 +-
foreign/go/client/tcp/tcp_topic_cache_test.go | 5 +
foreign/go/contracts/client.go | 23 +-
foreign/go/contracts/offset.go | 8 +
foreign/go/contracts/partitions.go | 20 +-
foreign/go/errors/errors.yaml | 4 +
foreign/go/errors/errors_gen.go | 17 +
foreign/go/internal/command/code.go | 2 -
foreign/go/internal/vsr/header.go | 17 +-
foreign/go/internal/vsr/header_test.go | 1 -
foreign/go/internal/vsr/operation.go | 6 -
foreign/go/internal/vsr/operation_test.go | 6 +-
foreign/go/internal/vsr/protocol_parity_test.go | 6 +-
.../iggy/client/async/ConsumerOffsetsClient.java | 22 +
.../iggy/client/async/tcp/AsyncTcpConnection.java | 66 +-
.../client/async/tcp/ConsumerOffsetsTcpClient.java | 62 +-
.../iggy/client/async/tcp/MessagesTcpClient.java | 44 +-
.../iggy/client/async/tcp/PartitionContexts.java | 154 +
.../apache/iggy/client/async/tcp/PollRouter.java | 9 +-
.../iggy/client/async/tcp/vsr/VsrHeaders.java | 5 +-
.../iggy/client/async/tcp/vsr/VsrOperation.java | 8 +-
.../client/async/tcp/vsr/VsrRequestEncoder.java | 6 +-
.../client/blocking/ConsumerOffsetsClient.java | 14 +
.../blocking/http/ConsumerOffsetsHttpClient.java | 30 +-
.../blocking/tcp/ConsumerOffsetsTcpClient.java | 12 +
.../org/apache/iggy/exception/IggyErrorCode.java | 2 +
.../apache/iggy/partition/PartitionContext.java | 8 +-
.../org/apache/iggy/serde/BytesDeserializer.java | 4 +-
.../java/org/apache/iggy/serde/CommandCode.java | 3 +-
.../AsyncIggyTcpClientPartitionContextTest.java | 303 ++
.../AsyncIggyTcpClientTransientFailoverTest.java | 89 +-
.../async/tcp/vsr/VsrRequestEncoderTest.java | 25 +
.../client/blocking/http/ObjectMapperTest.java | 21 +-
.../apache/iggy/exception/IggyErrorCodeTest.java | 1 +
.../apache/iggy/serde/BytesDeserializerTest.java | 2 +-
.../iggy/serde/MessagesBatchWireFormatTest.java | 8 +-
foreign/node/README.md | 7 +-
foreign/node/src/client/client.socket.test.ts | 123 +-
foreign/node/src/client/client.socket.ts | 55 +-
foreign/node/src/e2e/tcp.stream.e2e.ts | 4 -
foreign/node/src/e2e/tcp.topic.e2e.ts | 4 -
foreign/node/src/index.ts | 1 +
foreign/node/src/wire/command-set.ts | 4 -
foreign/node/src/wire/command.code.ts | 2 -
foreign/node/src/wire/error.code.test.ts | 8 +
foreign/node/src/wire/error.code.ts | 3 +-
foreign/node/src/wire/identifier.utils.ts | 4 +
.../node/src/wire/message/message-batch.test.ts | 16 +-
.../src/wire/message/poll-messages.command.test.ts | 4 +-
.../node/src/wire/message/poll-messages.command.ts | 9 +-
foreign/node/src/wire/message/poll.utils.ts | 1 +
.../src/wire/message/send-messages.command.test.ts | 86 +-
.../node/src/wire/message/send-messages.command.ts | 77 +-
foreign/node/src/wire/stream/index.ts | 1 -
.../node/src/wire/stream/purge-stream.command.ts | 49 -
foreign/node/src/wire/topic/index.ts | 1 -
foreign/node/src/wire/topic/purge-topic.command.ts | 54 -
foreign/node/src/wire/topic/topic.utils.ts | 1 +
foreign/node/src/wire/vsr/header.test.ts | 6 +-
foreign/node/src/wire/vsr/header.ts | 28 +-
foreign/node/src/wire/vsr/operation.test.ts | 4 +-
foreign/node/src/wire/vsr/operation.ts | 4 -
foreign/python/apache_iggy.pyi | 42 +-
foreign/python/src/client.rs | 67 +-
foreign/python/tests/test_stream.py | 97 +-
foreign/python/tests/test_topic.py | 119 -
.../swift/Sources/Iggy/Errors/IggyErrorCode.swift | 2 +
foreign/swift/Sources/Iggy/Models/Resources.swift | 28 +-
.../swift/Sources/Iggy/Models/TopicOptions.swift | 4 +-
foreign/swift/Tests/IggyTests/Fixtures/golden.json | 11 +-
.../swift/Tests/IggyTests/ModelVectorTests.swift | 2 +-
foreign/swift/Tools/golden-vectors/src/main.rs | 34 +-
gateways/kafka/Cargo.toml | 3 +
gateways/kafka/README.md | 77 +-
gateways/kafka/docs/ACL_MAPPING.md | 5 +-
gateways/kafka/docs/CONSUMER_GROUPS.md | 24 +-
gateways/kafka/docs/MANUAL_TESTING.md | 20 +-
gateways/kafka/docs/OFFSET_STORAGE.md | 297 +-
gateways/kafka/docs/SCOPE.md | 23 +-
gateways/kafka/docs/TEST_SUITE.md | 3 +-
gateways/kafka/docs/kafka_api_keys_reference.md | 14 +-
gateways/kafka/scripts/ci-wire-fixtures.sh | 2 +-
gateways/kafka/src/bridge/error.rs | 32 +-
gateways/kafka/src/bridge/iggy_bridge/fetch.rs | 33 +-
.../kafka/src/bridge/iggy_bridge/group_offsets.rs | 686 +++
gateways/kafka/src/bridge/iggy_bridge/mod.rs | 29 +-
gateways/kafka/src/bridge/iggy_bridge/produce.rs | 9 +-
gateways/kafka/src/bridge/iggy_bridge/topics.rs | 25 +-
gateways/kafka/src/bridge/mod.rs | 12 +-
gateways/kafka/src/group/mod.rs | 68 +-
gateways/kafka/src/group/state.rs | 298 +-
gateways/kafka/src/protocol/api.rs | 39 +-
gateways/kafka/src/protocol/bounds_guard.rs | 264 +-
gateways/kafka/src/protocol/handlers/fetch.rs | 7 +-
gateways/kafka/src/protocol/handlers/heartbeat.rs | 13 +-
gateways/kafka/src/protocol/handlers/mod.rs | 38 +-
.../kafka/src/protocol/handlers/offset_commit.rs | 321 ++
.../kafka/src/protocol/handlers/offset_fetch.rs | 564 ++
gateways/kafka/tests/common/scope.rs | 2 +
gateways/kafka/tests/common/wire.rs | 103 +-
gateways/kafka/tests/fetch_real_bridge_tests.rs | 33 +-
gateways/kafka/tests/golden_wire_fixtures_tests.rs | 16 +-
gateways/kafka/tests/kafka_client_e2e_tests.rs | 450 +-
gateways/kafka/tests/offsets_real_bridge_tests.rs | 364 ++
gateways/kafka/tests/server_e2e_tests.rs | 6 +-
gateways/kafka/tests/version_firewall_tests.rs | 16 +-
gateways/kafka/tools/kafka-tool/src/main.rs | 15 +-
382 files changed, 11724 insertions(+), 14385 deletions(-)
delete mode 100644 .pr4372-comments.json
delete mode 100644 core/binary_protocol/src/requests/streams/purge_stream.rs
delete mode 100644 core/binary_protocol/src/requests/topics/purge_topic.rs
delete mode 100644 core/binary_protocol/src/responses/streams/purge_stream.rs
delete mode 100644 core/binary_protocol/src/responses/topics/purge_topic.rs
delete mode 100644 core/cli/src/commands/binary_streams/purge_stream.rs
delete mode 100644 core/cli/src/commands/binary_topics/purge_topic.rs
delete mode 100644 core/common/src/http/streams/purge_stream.rs
delete mode 100644 core/common/src/http/topics/purge_topic.rs
create mode 100644 core/configs/src/configs_impl/env_listing.rs
delete mode 100644
core/integration/tests/cli/stream/test_stream_purge_command.rs
delete mode 100644 core/integration/tests/cli/topic/test_topic_purge_command.rs
create mode 100644 core/integration/tests/config_env_listing/mod.rs
rename core/integration/tests/server/{purge_delete.rs => delete_segments.rs}
(68%)
delete mode 100644 core/integration/tests/server/purge_vsr.rs
rename core/integration/tests/server/scenarios/{purge_delete_scenario.rs =>
delete_segments_scenario.rs} (68%)
create mode 100644 core/integration/tests/server/topic_metrics_vsr.rs
delete mode 100644 core/simulator/src/consumer_offset_history_tests.rs
create mode 100644 core/simulator/src/storage/bookmark_recovery.rs
delete mode 100644 core/simulator/src/storage/purge.rs
delete mode 100644 core/simulator/src/workload/ops/purge_stream.rs
delete mode 100644 core/simulator/src/workload/ops/purge_topic.rs
delete mode 100644
foreign/csharp/Iggy_SDK.Tests.Integration/Helpers/Eventually.cs
copy foreign/csharp/{Iggy_SDK/Contracts/Http/StoreOffsetRequest.cs =>
Iggy_SDK_Tests/ClientTests/HttpConsumerOffsetTests.cs} (52%)
create mode 100644
foreign/csharp/Iggy_SDK_Tests/VsrTests/PartitionContextTests.cs
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/PartitionContexts.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientPartitionContextTest.java
delete mode 100644 foreign/node/src/wire/stream/purge-stream.command.ts
delete mode 100644 foreign/node/src/wire/topic/purge-topic.command.ts
create mode 100644 gateways/kafka/src/bridge/iggy_bridge/group_offsets.rs
create mode 100644 gateways/kafka/src/protocol/handlers/offset_commit.rs
create mode 100644 gateways/kafka/src/protocol/handlers/offset_fetch.rs
create mode 100644 gateways/kafka/tests/offsets_real_bridge_tests.rs