This is an automated email from the ASF dual-hosted git repository.
gkoszyk pushed a change to branch partitions
in repository https://gitbox.apache.org/repos/asf/iggy.git
from 556018ddc temp ve3
add 2e74a3e10 ci(Java): add JaCoCo code coverage with Codecov integration
(#2623)
add 5306a9185 fix(java): resolve Gradle 9 task dependency error in Pinot
connector publish (#2706)
add 85d73ca48 ci(java): add Java coverage baseline to post-merge workflow
(#2707)
add f78a93de0 refactor(metadata): invert state handler dependency (#2705)
add 0aa1f3864 feat(connectors): fix state & memory leak, test all plugins,
enrich sinks (#2685)
add db105ddbf fix(connectors): harden plugin loading and config metadata
(#2713)
add 5f704d192 feat(java): fix integration test failure (#2703)
add 4b184464a feat(repo): add structured YAML issue forms (#2717)
add 20a849d81 feat(csharp): implement delete_segments method (#2701)
add a0d0f91f7 fix(repo): fix path in bug report template description
(#2721)
add 8b5a775e6 fix(server): hash passwords before persisting to state log
(#2724)
add 79b04f022 deps(server,sdk): bump compio to 0.18.0 with unified
feature-based imports (#2650)
add 8cb4805db deps: bump workspace dependencies and migrate to rand 0.10
(#2727)
add 005beb8be refactor(server): improve server command handlers (#2669)
add 153cb378c feat(metadata): impl Snapshot interface for Mux state
machine (#2675)
new 361555e96 merge master
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:
.github/BOT_ISSUE_TEMPLATE.md | 14 -
.github/ISSUE_TEMPLATE/bug_report.yml | 104 ++
.../ISSUE_TEMPLATE/config.yml | 17 +-
.github/ISSUE_TEMPLATE/feature_request.yml | 71 ++
.../ISSUE_TEMPLATE/question.yml | 29 +-
.github/actions/java-gradle/pre-merge/action.yml | 21 +
.github/workflows/_test.yml | 12 +
.github/workflows/post-merge.yml | 47 +-
Cargo.lock | 1008 +++++++++++-------
Cargo.toml | 85 +-
DEPENDENCIES.md | 260 ++---
PULL_REQUEST_TEMPLATE.md | 3 +-
codecov.yml | 29 +-
core/bench/report/src/types/numeric_parameter.rs | 2 +-
core/bench/src/utils/batch_generator.rs | 2 +-
core/binary_protocol/src/utils/mapper.rs | 3 +-
core/common/Cargo.toml | 3 -
core/common/src/alloc/buffer.rs | 37 +-
core/common/src/lib.rs | 1 +
core/common/src/sender/mod.rs | 4 +-
core/common/src/sender/quic_sender.rs | 32 +-
core/common/src/sender/tcp_tls_sender.rs | 2 +-
core/common/src/sender/websocket_sender.rs | 12 +-
core/common/src/sender/websocket_tls_sender.rs | 14 +-
.../quic_config/quic_client_config_builder.rs | 6 +
.../tcp_config/tcp_client_config_builder.rs | 6 +
.../src/types/segment_storage/index_writer.rs | 6 +-
.../src/types/segment_storage/messages_writer.rs | 6 +-
core/common/src/utils/timestamp.rs | 8 +
core/connectors/README.md | 44 +-
core/connectors/runtime/Cargo.toml | 5 +-
.../connectors/{iceberg.toml => iceberg_sink.toml} | 1 +
.../{quickwit.toml => quickwit_sink.toml} | 1 +
.../{random_v0.toml => random_source_v0.toml} | 0
.../{random_v1.toml => random_source_v1.toml} | 0
.../connectors/{stdout.toml => stdout_sink.toml} | 3 +-
core/connectors/runtime/src/api/mod.rs | 5 +-
core/connectors/runtime/src/api/models.rs | 39 +-
core/connectors/runtime/src/configs/connectors.rs | 2 +-
.../src/configs/connectors/local_provider.rs | 29 +-
core/connectors/runtime/src/context.rs | 4 +-
core/connectors/runtime/src/main.rs | 179 +++-
core/connectors/runtime/src/manager/mod.rs | 1 -
core/connectors/runtime/src/manager/sink.rs | 2 +-
core/connectors/runtime/src/manager/source.rs | 2 +-
core/connectors/runtime/src/manager/status.rs | 65 --
core/connectors/runtime/src/sink.rs | 72 +-
core/connectors/runtime/src/source.rs | 108 +-
core/connectors/runtime/src/stats.rs | 43 +-
core/connectors/sdk/Cargo.toml | 8 +-
core/connectors/sdk/src/api.rs | 152 +++
core/connectors/sdk/src/encoders/proto.rs | 3 +-
core/connectors/sdk/src/lib.rs | 40 +
core/connectors/sdk/src/sink.rs | 8 +-
core/connectors/sdk/src/source.rs | 4 +-
core/connectors/sdk/src/transforms/json/mod.rs | 16 +-
.../connectors/sdk/src/transforms/proto_convert.rs | 5 +-
core/connectors/sinks/README.md | 12 +-
.../connectors/sinks/elasticsearch_sink/Cargo.toml | 2 +-
.../sinks/elasticsearch_sink/config.toml} | 21 +-
.../connectors/sinks/elasticsearch_sink/src/lib.rs | 37 +-
.../iceberg_sink/config.toml} | 21 +-
core/connectors/sinks/postgres_sink/Cargo.toml | 2 +-
core/connectors/sinks/postgres_sink/config.toml | 2 +-
core/connectors/sinks/postgres_sink/src/lib.rs | 25 +-
.../sinks/quickwit_sink/config.toml} | 2 +-
.../stdout.toml => sinks/stdout_sink/config.toml} | 16 +-
core/connectors/sources/README.md | 10 +-
.../sources/elasticsearch_source/Cargo.toml | 2 +-
.../sources/elasticsearch_source/config.toml} | 22 +-
.../sources/elasticsearch_source/src/lib.rs | 35 +-
.../elasticsearch_source/src/state_manager.rs | 7 +-
core/connectors/sources/postgres_source/Cargo.toml | 2 +-
.../connectors/sources/postgres_source/config.toml | 2 +-
core/connectors/sources/postgres_source/src/lib.rs | 181 +++-
core/connectors/sources/random_source/Cargo.toml | 1 +
.../sources/random_source/config.toml} | 2 +-
core/connectors/sources/random_source/src/lib.rs | 144 ++-
core/consensus/src/vsr_timeout.rs | 2 +-
core/integration/Cargo.toml | 1 +
core/integration/src/harness/handle/server.rs | 2 +-
core/integration/tests/connectors/api/endpoints.rs | 45 +-
.../connectors/elasticsearch/elasticsearch_sink.rs | 218 ++++
.../elasticsearch/elasticsearch_source.rs | 310 ++++++
.../{fixtures/quickwit => elasticsearch}/mod.rs | 7 +-
.../config.toml => elasticsearch/sink.toml} | 2 +-
.../{postgres => elasticsearch}/source.toml | 2 +-
.../connectors/fixtures/elasticsearch/container.rs | 350 ++++++
.../fixtures/{quickwit => elasticsearch}/mod.rs | 5 +-
.../connectors/fixtures/elasticsearch/sink.rs | 146 +++
.../connectors/fixtures/elasticsearch/source.rs | 192 ++++
.../tests/connectors/fixtures/iceberg/container.rs | 529 +++++++++
.../fixtures/{quickwit => iceberg}/mod.rs | 2 +-
core/integration/tests/connectors/fixtures/mod.rs | 4 +
.../tests/connectors/iceberg/iceberg_sink.rs | 209 ++++
.../tests/connectors/{api => iceberg}/mod.rs | 2 +-
.../{quickwit/config.toml => iceberg/sink.toml} | 2 +-
core/integration/tests/connectors/mod.rs | 3 +
.../tests/connectors/postgres/postgres_source.rs | 127 +++
.../tests/connectors/quickwit/quickwit_sink.rs | 13 +-
.../connectors/{postgres => quickwit}/sink.toml | 2 +-
.../tests/connectors/random/random_source.rs | 65 +-
.../{postgres/sink.toml => random/source.toml} | 2 +-
.../tests/connectors/{api => stdout}/mod.rs | 2 +-
.../{quickwit/config.toml => stdout/sink.toml} | 2 +-
.../tests/connectors/stdout/stdout_sink.rs | 207 ++++
core/integration/tests/data_integrity/mod.rs | 1 +
.../verify_user_login_after_restart.rs | 65 ++
core/integration/tests/server/cg.rs | 10 +-
core/integration/tests/server/mod.rs | 1 +
core/integration/tests/server/purge_delete.rs | 96 ++
...er_group_new_messages_after_restart_scenario.rs | 254 +++++
.../server/scenarios/delete_segments_scenario.rs | 229 ----
core/integration/tests/server/scenarios/mod.rs | 3 +-
.../server/scenarios/purge_delete_scenario.rs | 1117 ++++++++++++++++++++
core/integration/tests/server/specific.rs | 12 +-
core/metadata/Cargo.toml | 2 +
core/metadata/src/impls/metadata.rs | 55 +
core/metadata/src/stats/mod.rs | 28 +
core/metadata/src/stm/consumer_group.rs | 280 +++--
core/metadata/src/stm/mod.rs | 172 ++-
core/metadata/src/stm/mux.rs | 126 +++
core/metadata/src/stm/snapshot.rs | 402 +++++++
core/metadata/src/stm/stream.rs | 594 +++++++----
core/metadata/src/stm/user.rs | 472 +++++++--
core/sdk/src/clients/client_builder.rs | 34 +
core/server/Cargo.toml | 11 +-
.../create_consumer_group_handler.rs | 105 +-
.../delete_consumer_group_handler.rs | 118 +--
.../consumer_groups/get_consumer_group_handler.rs | 27 +-
.../consumer_groups/get_consumer_groups_handler.rs | 37 +-
.../consumer_groups/join_consumer_group_handler.rs | 66 +-
.../leave_consumer_group_handler.rs | 69 +-
.../delete_consumer_offset_handler.rs | 17 +-
.../get_consumer_offset_handler.rs | 30 +-
.../store_consumer_offset_handler.rs | 12 +-
.../messages/flush_unsaved_buffer_handler.rs | 22 +-
.../handlers/messages/poll_messages_handler.rs | 11 +-
.../handlers/messages/send_messages_handler.rs | 39 +-
.../partitions/create_partitions_handler.rs | 102 +-
.../partitions/delete_partitions_handler.rs | 104 +-
.../create_personal_access_token_handler.rs | 90 +-
.../delete_personal_access_token_handler.rs | 75 +-
.../handlers/segments/delete_segments_handler.rs | 83 +-
.../handlers/streams/create_stream_handler.rs | 76 +-
.../handlers/streams/delete_stream_handler.rs | 72 +-
.../binary/handlers/streams/get_stream_handler.rs | 25 +-
.../binary/handlers/streams/get_streams_handler.rs | 15 +-
.../handlers/streams/purge_stream_handler.rs | 77 +-
.../handlers/streams/update_stream_handler.rs | 69 +-
.../binary/handlers/system/get_stats_handler.rs | 45 +-
.../binary/handlers/topics/create_topic_handler.rs | 129 +--
.../binary/handlers/topics/delete_topic_handler.rs | 99 +-
.../binary/handlers/topics/get_topic_handler.rs | 24 +-
.../binary/handlers/topics/get_topics_handler.rs | 12 +-
.../binary/handlers/topics/purge_topic_handler.rs | 87 +-
.../binary/handlers/topics/update_topic_handler.rs | 102 +-
.../handlers/users/change_password_handler.rs | 95 +-
.../binary/handlers/users/create_user_handler.rs | 97 +-
.../binary/handlers/users/delete_user_handler.rs | 72 +-
.../src/binary/handlers/users/get_user_handler.rs | 17 +-
.../src/binary/handlers/users/get_users_handler.rs | 8 +-
.../handlers/users/update_permissions_handler.rs | 85 +-
.../binary/handlers/users/update_user_handler.rs | 94 +-
core/server/src/binary/mapper.rs | 225 +++-
core/server/src/http/consumer_groups.rs | 186 +---
core/server/src/http/consumer_offsets.rs | 40 +-
core/server/src/http/http_server.rs | 7 +-
core/server/src/http/http_shard_wrapper.rs | 251 ++---
core/server/src/http/messages.rs | 20 +-
core/server/src/http/partitions.rs | 130 +--
core/server/src/http/personal_access_tokens.rs | 77 +-
core/server/src/http/streams.rs | 207 +---
core/server/src/http/topics.rs | 311 +-----
core/server/src/http/users.rs | 238 +----
core/server/src/io/fs_locks.rs | 51 -
core/server/src/io/mod.rs | 1 -
core/server/src/metadata/absorb.rs | 30 +-
core/server/src/metadata/mod.rs | 3 +
core/server/src/metadata/ops.rs | 14 +-
core/server/src/metadata/reader.rs | 615 ++++++++++-
core/server/src/metadata/writer.rs | 20 +-
core/server/src/quic/listener.rs | 15 +-
core/server/src/quic/quic_server.rs | 4 +-
core/server/src/server_error.rs | 2 +-
core/server/src/shard/builder.rs | 1 -
core/server/src/shard/communication.rs | 105 +-
core/server/src/shard/execution.rs | 705 ++++++++++++
core/server/src/shard/handlers.rs | 785 +++-----------
core/server/src/shard/mod.rs | 105 +-
core/server/src/shard/system/clients.rs | 40 +-
core/server/src/shard/system/consumer_groups.rs | 164 +--
core/server/src/shard/system/consumer_offsets.rs | 217 +++-
core/server/src/shard/system/messages.rs | 263 +----
core/server/src/shard/system/partitions.rs | 37 +-
.../src/shard/system/personal_access_tokens.rs | 28 +-
core/server/src/shard/system/segments.rs | 417 +++++++-
core/server/src/shard/system/streams.rs | 234 +---
core/server/src/shard/system/topics.rs | 333 ++----
core/server/src/shard/system/users.rs | 36 -
core/server/src/shard/system/utils.rs | 256 +++--
.../src/shard/tasks/continuous/message_pump.rs | 81 +-
.../src/shard/tasks/periodic/message_cleaner.rs | 408 +------
.../src/shard/tasks/periodic/message_saver.rs | 74 +-
core/server/src/shard/transmission/event.rs | 6 +-
core/server/src/shard/transmission/frame.rs | 72 +-
core/server/src/shard/transmission/message.rs | 252 ++---
.../src/streaming/partitions/local_partition.rs | 4 -
core/server/src/streaming/utils/crypto.rs | 2 +-
core/server/src/tcp/tcp_listener.rs | 6 +-
core/server/src/tcp/tcp_tls_listener.rs | 8 +-
core/server/src/websocket/websocket_listener.rs | 9 +-
.../server/src/websocket/websocket_tls_listener.rs | 11 +-
core/tools/src/data-seeder/seeder.rs | 2 +-
examples/rust/src/shared/messages_generator.rs | 2 +-
examples/rust/src/sink-data-producer/main.rs | 2 +-
.../Fixtures/SegmentsFixture.cs | 46 +
.../Iggy_SDK.Tests.Integration/SegmentsTests.cs | 92 ++
.../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs | 14 +
foreign/csharp/Iggy_SDK/IggyClient/IIggyClient.cs | 2 +-
foreign/csharp/Iggy_SDK/IggyClient/IIggySegment.cs | 42 +
.../Implementations/HttpMessageStream.cs | 16 +
.../IggyClient/Implementations/TcpMessageStream.cs | 11 +
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs | 1 +
foreign/java/build.gradle.kts | 39 +
.../kotlin/iggy.java-common-conventions.gradle.kts | 31 +
.../iggy-connector-pinot/build.gradle.kts | 10 +-
.../iggy-connector-pinot/docker-compose.yml | 6 +-
foreign/java/gradle/libs.versions.toml | 1 +
.../org/apache/iggy/serde/BytesSerializer.java | 3 +-
.../client/async/AsyncClientIntegrationTest.java | 7 +-
.../iggy/client/async/AsyncPollMessageTest.java | 6 +-
.../async/tcp/AsyncIggyTcpClientBuilderTest.java | 11 +-
.../iggy/client/blocking/IntegrationTest.java | 4 +
.../blocking/tcp/IggyTcpClientBuilderTest.java | 24 +-
236 files changed, 12074 insertions(+), 7363 deletions(-)
delete mode 100644 .github/BOT_ISSUE_TEMPLATE.md
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml
copy bdd/csharp/Dockerfile => .github/ISSUE_TEMPLATE/config.yml (71%)
create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml
copy bdd/csharp/Dockerfile => .github/ISSUE_TEMPLATE/question.yml (58%)
copy core/connectors/runtime/example_config/connectors/{iceberg.toml =>
iceberg_sink.toml} (98%)
rename core/connectors/runtime/example_config/connectors/{quickwit.toml =>
quickwit_sink.toml} (99%)
rename core/connectors/runtime/example_config/connectors/{random_v0.toml =>
random_source_v0.toml} (100%)
rename core/connectors/runtime/example_config/connectors/{random_v1.toml =>
random_source_v1.toml} (100%)
copy core/connectors/runtime/example_config/connectors/{stdout.toml =>
stdout_sink.toml} (97%)
delete mode 100644 core/connectors/runtime/src/manager/status.rs
create mode 100644 core/connectors/sdk/src/api.rs
copy core/{integration/tests/connectors/quickwit/sinks/quickwit.toml =>
connectors/sinks/elasticsearch_sink/config.toml} (72%)
rename core/connectors/{runtime/example_config/connectors/iceberg.toml =>
sinks/iceberg_sink/config.toml} (79%)
rename core/{integration/tests/connectors/quickwit/sinks/quickwit.toml =>
connectors/sinks/quickwit_sink/config.toml} (94%)
rename core/connectors/{runtime/example_config/connectors/stdout.toml =>
sinks/stdout_sink/config.toml} (80%)
copy core/{integration/tests/connectors/random/connectors_config/random.toml
=> connectors/sources/elasticsearch_source/config.toml} (76%)
rename core/{integration/tests/connectors/random/connectors_config/random.toml
=> connectors/sources/random_source/config.toml} (95%)
create mode 100644
core/integration/tests/connectors/elasticsearch/elasticsearch_sink.rs
create mode 100644
core/integration/tests/connectors/elasticsearch/elasticsearch_source.rs
copy core/integration/tests/connectors/{fixtures/quickwit =>
elasticsearch}/mod.rs (83%)
rename core/integration/tests/connectors/{random/config.toml =>
elasticsearch/sink.toml} (93%)
copy core/integration/tests/connectors/{postgres => elasticsearch}/source.toml
(93%)
create mode 100644
core/integration/tests/connectors/fixtures/elasticsearch/container.rs
copy core/integration/tests/connectors/fixtures/{quickwit =>
elasticsearch}/mod.rs (87%)
create mode 100644
core/integration/tests/connectors/fixtures/elasticsearch/sink.rs
create mode 100644
core/integration/tests/connectors/fixtures/elasticsearch/source.rs
create mode 100644
core/integration/tests/connectors/fixtures/iceberg/container.rs
copy core/integration/tests/connectors/fixtures/{quickwit => iceberg}/mod.rs
(89%)
create mode 100644 core/integration/tests/connectors/iceberg/iceberg_sink.rs
copy core/integration/tests/connectors/{api => iceberg}/mod.rs (97%)
copy core/integration/tests/connectors/{quickwit/config.toml =>
iceberg/sink.toml} (94%)
copy core/integration/tests/connectors/{postgres => quickwit}/sink.toml (94%)
copy core/integration/tests/connectors/{postgres/sink.toml =>
random/source.toml} (94%)
copy core/integration/tests/connectors/{api => stdout}/mod.rs (97%)
rename core/integration/tests/connectors/{quickwit/config.toml =>
stdout/sink.toml} (94%)
create mode 100644 core/integration/tests/connectors/stdout/stdout_sink.rs
create mode 100644
core/integration/tests/data_integrity/verify_user_login_after_restart.rs
create mode 100644 core/integration/tests/server/purge_delete.rs
create mode 100644
core/integration/tests/server/scenarios/consumer_group_new_messages_after_restart_scenario.rs
delete mode 100644
core/integration/tests/server/scenarios/delete_segments_scenario.rs
create mode 100644
core/integration/tests/server/scenarios/purge_delete_scenario.rs
create mode 100644 core/metadata/src/stm/snapshot.rs
delete mode 100644 core/server/src/io/fs_locks.rs
create mode 100644 core/server/src/shard/execution.rs
create mode 100644
foreign/csharp/Iggy_SDK.Tests.Integration/Fixtures/SegmentsFixture.cs
create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/SegmentsTests.cs
create mode 100644 foreign/csharp/Iggy_SDK/IggyClient/IIggySegment.cs