This is an automated email from the ASF dual-hosted git repository.
hgruszecki pushed a change to branch command-handler-impr
in repository https://gitbox.apache.org/repos/asf/iggy.git
discard 82047bce4 refactor(server): streamline command handlers with
centralized execution
add 76e928a44 feat(connectors): add Prometheus metrics and stats endpoints
(#2633)
add f50967dd8 feat(integration): add core test harness library (#2632)
add 0814ee01b ci(csharp): enhance test reporting and upload results (#2638)
add fd638a283 feat(java): refactor SDK with fluent builder API and
exception hierarchy (#2630)
add d4f9ebc10 fix(ci): pin ginkgo CLI to v2.23.4 to match go.mod (#2642)
add 393b0f6fa feat(connectors): extend published stats (#2640)
add 9f0057685 chore(repo): bump Rust version to 1.93.0 (#2644)
add f2c56d8fa feat(metadata): expose metadata generics and create journal
handle (#2624)
add e84daf4e0 perf(ci): optimize hot dependencies in dev profile (#2645)
add d850ab6ff test(connectors): add integration tests for Quickwit sink
(#2636)
add 69d7ed936 ci: add stale PR workflow (#2641)
add 667e69ea4 feat(server,sdk): allow arbitrary (non-string) header key
kind (#2637)
add 006dd98c7 docs(repo): add pre-commit hooks checklist to PR template
(#2646)
add a2c10522d fix(configs): remove configs_derive re-export from common
crate (#2649)
add a5e12cdef perf(ci): add reusable Go setup action and reduce cache
bloat (#2648)
add 29ab31855 chore(python): upgrade pyo3 to 0.27 and fix deprecations
(#2643)
add 6e6f2afd3 test(csharp): fix GetOffset test case (#2651)
add 76f123b5f chore(sdk): remove unused fast_async_lock feature (#2653)
add 240519996 refactor(deps): centralize workspace dependencies in root
Cargo.toml (#2652)
add 4d3104719 feat(ci,java): add formatting verification for bdd and
examples (#2647)
add 873b63965 feat(server): implement log rotation based on size and
retention (#2452)
add 8827588e8 feat(java): improve tests and clean up json mappings (#2658)
add 4f91d7d89 feat(java): add gradle wrapper with jar file autofetch
(#2659)
add e5cf2d2f4 feat(connectors): add connector version to stats endpoint
(#2660)
add c51e45f85 feat(integration): add iggy_harness proc macro and use it in
mcp tests (#2635)
add f774d9eda feat(server,sdk): add reserved u64 to iggy message header
(#2657)
new 6d109438e refactor(server): streamline command handlers with
centralized execution
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 (82047bce4)
\
N -- N -- N refs/heads/command-handler-impr (6d109438e)
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:
.github/actions/csharp-dotnet/pre-merge/action.yml | 18 +-
.github/actions/go/pre-merge/action.yml | 29 +-
.github/actions/java-gradle/post-merge/action.yml | 25 +-
.github/actions/java-gradle/pre-merge/action.yml | 45 +-
.github/actions/rust/pre-merge/action.yml | 32 +-
.github/actions/utils/docker-buildx/action.yml | 4 +-
.../actions/utils/setup-go-with-cache/action.yml | 104 +
.../actions/utils/setup-java-with-cache/action.yml | 59 +
.github/workflows/_common.yml | 27 +-
.github/workflows/_detect.yml | 2 -
.github/workflows/_test.yml | 2 -
.github/workflows/_test_bdd.yml | 2 -
.github/workflows/_test_examples.yml | 31 +-
.github/workflows/pre-merge.yml | 3 -
.github/workflows/stale-prs.yml | 56 +
.gitignore | 1 +
Cargo.lock | 85 +-
Cargo.toml | 101 +-
DEPENDENCIES.md | 40 +-
Dockerfile | 2 +-
PULL_REQUEST_TEMPLATE.md | 6 +-
bdd/go/Dockerfile | 2 +-
bdd/go/tests/tcp_test/messages_steps.go | 8 +-
bdd/java/.gitignore | 3 +
bdd/java/Dockerfile | 14 +-
bdd/java/build.gradle.kts | 13 +
bdd/java/gradle/wrapper/gradle-wrapper.properties | 7 +
bdd/java/gradlew | 297 +++
.../org/apache/iggy/bdd/BasicMessagingSteps.java | 51 +-
bdd/python/Dockerfile | 2 +-
bdd/rust/Cargo.toml | 2 +-
bdd/rust/Dockerfile | 2 +-
core/ai/mcp/Cargo.toml | 5 +-
core/ai/mcp/Dockerfile | 2 +-
core/ai/mcp/src/api.rs | 64 +-
core/bench/Cargo.toml | 8 +-
core/bench/dashboard/frontend/Cargo.toml | 22 +-
core/bench/dashboard/server/Cargo.toml | 16 +-
core/bench/dashboard/server/Dockerfile | 2 +-
core/bench/runner/Cargo.toml | 6 +-
core/binary_protocol/Cargo.toml | 2 +-
.../src/cli/binary_message/poll_messages.rs | 8 +-
core/cli/Cargo.toml | 4 +-
core/cli/src/args/message.rs | 83 +-
core/common/Cargo.toml | 13 +-
core/common/src/commands/messages/send_messages.rs | 25 +-
core/common/src/error/iggy_error.rs | 2 +
core/common/src/lib.rs | 36 +-
core/common/src/locking/fast_async_lock.rs | 61 -
core/common/src/locking/mod.rs | 13 -
core/common/src/locking/tokio_lock.rs | 1 -
core/common/src/types/message/iggy_message.rs | 74 +-
core/common/src/types/message/message_header.rs | 142 +-
.../src/types/message/message_header_view.rs | 8 +
core/common/src/types/message/mod.rs | 5 +-
core/common/src/types/message/user_headers.rs | 2043 ++++++++++++--------
core/common/src/utils/byte_size.rs | 7 +
core/common/src/utils/duration.rs | 29 +
core/common/src/utils/mod.rs | 35 +-
.../{server/src => common/src/utils}/versioning.rs | 27 +-
.../configs/src/configs_impl/typed_env_provider.rs | 1 +
core/connectors/README.md | 2 +-
core/connectors/runtime/Cargo.toml | 4 +-
core/connectors/runtime/Dockerfile | 2 +-
core/connectors/runtime/README.md | 76 +
core/connectors/runtime/config.toml | 4 +
core/connectors/runtime/runtime.http | 6 +
core/connectors/runtime/src/api/config.rs | 31 +-
core/connectors/runtime/src/api/mod.rs | 22 +-
core/connectors/runtime/src/context.rs | 19 +-
core/connectors/runtime/src/main.rs | 6 +
core/connectors/runtime/src/manager/sink.rs | 19 +-
core/connectors/runtime/src/manager/source.rs | 19 +-
core/connectors/runtime/src/metrics.rs | 478 +++++
core/connectors/runtime/src/sink.rs | 52 +-
core/connectors/runtime/src/source.rs | 39 +-
core/connectors/runtime/src/stats.rs | 163 ++
core/connectors/sdk/Cargo.toml | 14 +-
core/connectors/sdk/README.md | 4 +-
core/connectors/sdk/src/sink.rs | 7 +
core/connectors/sdk/src/source.rs | 7 +
.../connectors/sinks/elasticsearch_sink/Cargo.toml | 6 +-
core/connectors/sinks/iceberg_sink/Cargo.toml | 2 +-
core/connectors/sinks/postgres_sink/Cargo.toml | 10 +-
core/connectors/sinks/quickwit_sink/Cargo.toml | 2 +-
core/connectors/sinks/stdout_sink/Cargo.toml | 2 +-
.../sources/elasticsearch_source/Cargo.toml | 6 +-
core/connectors/sources/postgres_source/Cargo.toml | 10 +-
core/connectors/sources/random_source/Cargo.toml | 2 +-
core/consensus/Cargo.toml | 4 +-
core/{configs_derive => harness_derive}/Cargo.toml | 4 +-
core/harness_derive/src/attrs.rs | 750 +++++++
core/harness_derive/src/codegen.rs | 820 ++++++++
core/harness_derive/src/lib.rs | 94 +
core/harness_derive/src/params.rs | 257 +++
core/integration/Cargo.toml | 22 +-
core/integration/src/harness/config/client.rs | 198 ++
core/integration/src/harness/config/common.rs | 95 +
.../src/harness/config/connectors_runtime.rs | 31 +-
core/integration/src/harness/config/mcp.rs | 62 +
.../random => src/harness/config}/mod.rs | 21 +-
core/integration/src/harness/config/resolve.rs | 270 +++
core/integration/src/harness/config/server.rs | 74 +
core/integration/src/harness/context.rs | 194 ++
core/integration/src/harness/error.rs | 192 ++
core/integration/src/harness/fixtures/mod.rs | 60 +
.../src/harness/fixtures/postgres/container.rs | 187 ++
.../src/harness/fixtures/postgres/mod.rs} | 15 +-
.../src/harness/fixtures/postgres/sink.rs | 213 ++
.../src/harness/fixtures/postgres/source.rs | 606 ++++++
.../integration/src/harness/fixtures/random.rs | 19 +-
core/integration/src/harness/fixtures/wiremock.rs | 150 ++
core/integration/src/harness/handle/client.rs | 230 +++
.../src/harness/handle/client_builder.rs | 350 ++++
core/integration/src/harness/handle/common.rs | 107 +
.../src/harness/handle/connectors_runtime.rs | 275 +++
core/integration/src/harness/handle/mcp.rs | 288 +++
.../src/harness/handle}/mod.rs | 24 +-
core/integration/src/harness/handle/server.rs | 707 +++++++
core/integration/src/harness/helpers.rs | 112 ++
core/integration/src/harness/mod.rs | 73 +
.../src/harness/orchestrator/builder.rs | 432 +++++
.../src/harness/orchestrator/harness.rs | 643 ++++++
.../integration/src/harness/orchestrator/mod.rs | 6 +-
core/integration/src/harness/port_reserver.rs | 281 +++
core/integration/src/harness/seeds.rs | 145 ++
core/integration/src/harness/traits.rs | 56 +
core/integration/src/lib.rs | 12 +
core/integration/src/test_server.rs | 4 +-
core/integration/src/websocket_client.rs | 35 +-
.../tests/cli/message/test_message_poll_command.rs | 9 +-
.../tests/cli/message/test_message_send_command.rs | 18 +-
.../tests/cluster/mod.rs} | 30 +-
.../tests/connectors/{random => api}/config.toml | 11 +-
.../tests/connectors/api/connectors/.gitkeep | 0
core/integration/tests/connectors/api/endpoints.rs | 217 +++
.../integration/tests/connectors/api/mod.rs | 18 +-
core/integration/tests/connectors/mod.rs | 2 +
.../{postgres/sink.toml => quickwit/config.toml} | 2 +-
core/integration/tests/connectors/quickwit/mod.rs | 285 +++
.../tests/connectors/quickwit/quickwit_sink.rs | 153 ++
.../tests/connectors/quickwit/sinks/quickwit.toml} | 25 +-
core/integration/tests/mcp/mod.rs | 920 ++++-----
core/integration/tests/mod.rs | 1 +
.../tests/server/concurrent_addition.rs | 5 +-
core/integration/tests/server/mod.rs | 5 +-
.../server/scenarios/create_message_payload.rs | 21 +-
.../server/scenarios/delete_segments_scenario.rs | 21 +-
.../tests/server/scenarios/encryption_scenario.rs | 54 +-
.../server/scenarios/log_rotation_scenario.rs | 382 ++++
.../server/scenarios/message_headers_scenario.rs | 21 +-
.../server/scenarios/message_size_scenario.rs | 26 +-
core/integration/tests/server/scenarios/mod.rs | 1 +
.../tests/server/scenarios/offset_scenario.rs | 15 +-
.../tests/server/scenarios/system_scenario.rs | 2 +-
.../tests/server/scenarios/timestamp_scenario.rs | 15 +-
core/integration/tests/server/specific.rs | 34 +-
core/integration/tests/state/mod.rs | 5 +-
core/journal/src/lib.rs | 24 +-
core/metadata/Cargo.toml | 10 +-
core/metadata/src/impls/metadata.rs | 89 +-
core/partitions/Cargo.toml | 2 +-
core/sdk/Cargo.toml | 10 +-
core/sdk/src/prelude.rs | 12 +-
core/server/Cargo.toml | 43 +-
core/server/Dockerfile | 2 +-
core/server/config.toml | 22 +-
core/server/server.http | 26 +-
core/server/src/bootstrap.rs | 2 +-
core/server/src/configs/cluster.rs | 2 +-
core/server/src/configs/defaults.rs | 9 +-
core/server/src/configs/displays.rs | 8 +-
core/server/src/configs/http.rs | 2 +-
core/server/src/configs/quic.rs | 2 +-
core/server/src/configs/server.rs | 4 +-
core/server/src/configs/sharding.rs | 2 +-
core/server/src/configs/system.rs | 9 +-
core/server/src/configs/tcp.rs | 3 +-
core/server/src/configs/validators.rs | 47 +-
core/server/src/configs/websocket.rs | 2 +-
core/server/src/http/http_server.rs | 33 +-
core/server/src/lib.rs | 8 +-
core/server/src/log/logger.rs | 475 ++++-
core/server/src/main.rs | 2 +-
core/server/src/shard/builder.rs | 5 +-
core/server/src/shard/mod.rs | 7 +-
core/server/src/shard/system/info.rs | 5 +-
core/server/src/state/file.rs | 5 +-
core/tools/src/data-seeder/seeder.rs | 10 +-
.../Utils.cs | 2 +-
.../Utils.cs | 2 +-
examples/java/.gitignore | 3 +
examples/java/README.md | 24 +-
examples/java/build.gradle.kts | 12 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 7 +
examples/java/gradlew | 297 +++
.../iggy/examples/async/AsyncConsumerExample.java | 10 +-
.../apache/iggy/examples/async/AsyncProducer.java | 12 +-
.../consumer/GettingStartedConsumer.java | 2 +-
.../producer/GettingStartedProducer.java | 2 +-
.../consumer/MessageEnvelopeConsumer.java | 2 +-
.../producer/MessageEnvelopeProducer.java | 6 +-
.../consumer/MessageHeadersConsumer.java | 11 +-
.../producer/MessageHeadersProducer.java | 9 +-
.../multitenant/consumer/MultiTenantConsumer.java | 4 +-
.../multitenant/producer/MultiTenantProducer.java | 4 +-
.../sinkdataproducer/SinkDataProducer.java | 2 +-
.../iggy/examples/streambuilder/StreamBasic.java | 2 +-
examples/node/package-lock.json | 774 +++-----
examples/node/package.json | 2 +-
examples/node/src/basic/producer.ts | 123 +-
examples/node/src/getting-started/producer.ts | 89 +-
examples/node/src/message-headers/producer.ts | 75 +-
examples/rust/Cargo.toml | 12 +-
examples/rust/README.md | 9 +-
.../message-headers/message-type/consumer/main.rs | 2 +-
.../message-headers/message-type/producer/main.rs | 5 +-
.../typed-headers}/consumer/main.rs | 23 +-
.../producer/main.rs | 50 +-
examples/rust/src/shared/codec.rs | 4 +-
foreign/cpp/tests/e2e/server.toml | 26 +-
foreign/csharp/Directory.Packages.props | 4 +-
.../FetchMessagesTests.cs | 4 +-
.../Fixtures/FetchMessagesFixture.cs | 4 +-
.../Fixtures/IggyServerFixture.cs | 49 +-
.../Iggy_SDK.Tests.Integration/OffsetTests.cs | 10 +-
.../SendMessagesTests.cs | 8 +-
.../Iggy_SDK.Tests.Integration/StreamsTests.cs | 4 +-
.../Iggy_SDK.Tests.Integration/TopicsTests.cs | 2 +-
.../csharp/Iggy_SDK/Contracts/MessageResponse.cs | 4 +
.../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs | 38 +-
foreign/csharp/Iggy_SDK/Headers/HeaderKey.cs | 73 +-
foreign/csharp/Iggy_SDK/Headers/HeaderKind.cs | 24 +-
foreign/csharp/Iggy_SDK/Headers/HeaderValue.cs | 4 +
.../Implementations/HttpMessageStream.cs | 5 +-
foreign/csharp/Iggy_SDK/Iggy_SDK.csproj | 2 +-
.../Iggy_SDK/JsonConverters/HeaderKeyConverter.cs | 46 -
.../Iggy_SDK/JsonConverters/MessageConverter.cs | 25 +-
.../JsonConverters/UserHeadersConverter.cs | 257 +++
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs | 37 +-
foreign/csharp/Iggy_SDK/Messages/Message.cs | 4 +-
foreign/csharp/Iggy_SDK/Messages/MessageHeader.cs | 5 +
.../Iggy_SDK/Utils/TcpMessageStreamHelpers.cs | 4 +-
.../csharp/Iggy_SDK_Tests/Utils/BinaryFactory.cs | 5 +-
.../send_messages_request_serializer_test.go | 10 +-
foreign/go/contracts/message_header.go | 8 +-
foreign/go/contracts/messages.go | 2 +-
foreign/go/contracts/user_headers.go | 106 +-
foreign/java/.gitignore | 3 +
foreign/java/BUILD_AND_TEST.md | 36 +-
foreign/java/README.md | 155 +-
foreign/java/dev-support/checks/build.sh | 27 -
.../java/dev-support/checkstyle/suppressions.xml | 3 +
.../iggy/connector/flink/sink/IggySinkWriter.java | 11 +-
.../flink/source/IggyPartitionSplitReader.java | 2 +-
.../iggy/connector/flink/source/IggySource.java | 12 +-
.../flink/source/IggySourceSplitEnumerator.java | 2 +-
.../flink/example/AsyncTcpMessagePollTest.java | 30 +-
.../flink/example/AsyncTcpMessageSendTest.java | 26 +-
.../iggy/flink/example/SendTextDataTest.java | 11 +-
.../pinot/consumer/IggyPartitionGroupConsumer.java | 9 +-
.../pinot/metadata/IggyStreamMetadataProvider.java | 9 +-
foreign/java/gradle.properties | 2 +-
.../java/gradle/wrapper/gradle-wrapper.properties | 7 +
foreign/java/gradlew | 297 +++
foreign/java/java-sdk/build.gradle.kts | 18 +
.../src/main/java/org/apache/iggy/Iggy.java | 86 +-
.../src/main/java/org/apache/iggy/IggyVersion.java | 135 ++
.../org/apache/iggy/builder/HttpClientBuilder.java | 66 +
.../org/apache/iggy/builder/TcpClientBuilder.java | 86 +
.../apache/iggy/client/async/MessagesClient.java | 12 +-
.../apache/iggy/client/async/StreamsClient.java | 22 +-
.../org/apache/iggy/client/async/TopicsClient.java | 10 +-
.../org/apache/iggy/client/async/UsersClient.java | 4 +-
.../iggy/client/async/tcp/AsyncIggyTcpClient.java | 307 +--
.../async/tcp/AsyncIggyTcpClientBuilder.java | 246 +++
.../iggy/client/async/tcp/AsyncTcpConnection.java | 17 +-
.../client/async/tcp/ConsumerGroupsTcpClient.java | 4 +-
.../iggy/client/async/tcp/MessagesTcpClient.java | 30 +-
.../iggy/client/async/tcp/StreamsTcpClient.java | 34 +-
.../iggy/client/async/tcp/TopicsTcpClient.java | 60 +-
.../iggy/client/async/tcp/UsersTcpClient.java | 13 +-
.../blocking/http/ConsumerGroupsHttpClient.java | 5 +-
.../iggy/client/blocking/http/IggyHttpClient.java | 76 +-
.../blocking/http/IggyHttpClientBuilder.java | 237 +++
.../client/blocking/http/InternalHttpClient.java | 75 +-
.../blocking/http/MessageMixin.java} | 37 +-
.../client/blocking/http/ObjectMapperFactory.java | 7 +
.../client/blocking/http/SystemHttpClient.java | 3 +-
.../iggy/client/blocking/http/UrlValidator.java | 60 +
.../blocking/http/UserHeadersSerializer.java} | 35 +-
.../iggy/client/blocking/http/UsersHttpClient.java | 5 +-
.../client/blocking/http/error/IggyHttpError.java | 22 -
.../iggy/client/blocking/tcp/IggyTcpClient.java | 338 +---
.../client/blocking/tcp/IggyTcpClientBuilder.java | 245 +++
.../client/blocking/tcp/InternalTcpClient.java | 15 +-
.../iggy/client/blocking/tcp/UsersTcpClient.java | 5 +-
.../java/org/apache/iggy/config/RetryPolicy.java | 130 ++
.../exception/IggyAuthenticationException.java | 70 +
.../iggy/exception/IggyAuthorizationException.java | 63 +
.../IggyClientException.java} | 32 +-
.../iggy/exception/IggyConflictException.java | 69 +
.../exception/IggyConnectionClosedException.java | 52 +
.../IggyConnectionException.java} | 32 +-
.../IggyEmptyResponseException.java} | 31 +-
.../org/apache/iggy/exception/IggyErrorCode.java | 162 ++
.../org/apache/iggy/exception/IggyException.java | 58 +
.../IggyInvalidArgumentException.java} | 32 +-
.../IggyMalformedResponseException.java} | 29 +-
.../IggyMissingCredentialsException.java} | 34 +-
.../iggy/exception/IggyNotConnectedException.java | 43 +-
.../IggyOperationNotSupportedException.java | 72 +
.../IggyProtocolException.java} | 32 +-
.../exception/IggyResourceNotFoundException.java | 76 +
.../apache/iggy/exception/IggyServerException.java | 206 ++
.../IggyTimeoutException.java} | 36 +-
.../IggyTlsException.java} | 32 +-
.../iggy/exception/IggyValidationException.java | 80 +
.../org/apache/iggy/identifier/Identifier.java | 5 +-
.../org/apache/iggy/message/BytesMessageId.java | 3 +-
.../message/{HeaderValue.java => HeaderEntry.java} | 6 +-
.../java/org/apache/iggy/message/HeaderKey.java | 66 +
.../java/org/apache/iggy/message/HeaderKind.java | 4 +-
.../java/org/apache/iggy/message/HeaderValue.java | 225 ++-
.../main/java/org/apache/iggy/message/Message.java | 43 +-
.../org/apache/iggy/message/MessageHeader.java | 6 +-
.../java/org/apache/iggy/message/MessageState.java | 4 +-
.../java/org/apache/iggy/message/Partitioning.java | 4 +-
.../org/apache/iggy/serde/BytesDeserializer.java | 29 +-
.../org/apache/iggy/serde/BytesSerializer.java | 32 +-
.../apache/iggy/topic/CompressionAlgorithm.java | 4 +-
.../java/org/apache/iggy/user/Permissions.java | 7 +-
.../org/apache/iggy/user/StreamPermissions.java | 5 +-
.../main/java/org/apache/iggy/user/UserStatus.java | 3 +-
.../src/main/resources/iggy-version.properties | 3 +
.../src/test/java/org/apache/iggy/IggyTest.java | 74 +-
.../test/java/org/apache/iggy/IggyVersionTest.java | 113 ++
.../client/async/AsyncClientIntegrationTest.java | 41 +-
.../iggy/client/async/AsyncPollMessageTest.java | 31 +-
.../async/tcp/AsyncIggyTcpClientBuilderTest.java | 187 +-
.../iggy/client/blocking/IntegrationTest.java | 7 +
.../blocking/http/HeaderKindSerializationTest.java | 120 ++
.../client/blocking/http/HttpClientFactory.java | 3 +-
.../client/blocking/http/ObjectMapperTest.java | 289 +++
.../client/blocking/http/UrlValidatorTest.java | 90 +
.../client/blocking/tcp/BytesSerializerTest.java | 43 +-
.../blocking/tcp/IggyTcpClientBuilderTest.java | 103 +-
.../iggy/client/blocking/tcp/TcpClientFactory.java | 13 +-
.../apache/iggy/exception/IggyErrorCodeTest.java | 149 ++
.../iggy/exception/IggyServerExceptionTest.java | 156 ++
.../apache/iggy/serde/BytesDeserializerTest.java | 12 +-
foreign/node/package-lock.json | 4 +-
foreign/node/package.json | 2 +-
foreign/node/src/bdd/message.ts | 64 +-
foreign/node/src/examples/stream-file-to-topic.ts | 85 +-
foreign/node/src/index.ts | 8 +-
foreign/node/src/tcp.sm.utils.ts | 90 +-
foreign/node/src/wire/message/header.type.ts | 137 +-
foreign/node/src/wire/message/header.utils.test.ts | 62 +-
foreign/node/src/wire/message/header.utils.ts | 402 ++--
foreign/node/src/wire/message/iggy-header.utils.ts | 35 +-
foreign/node/src/wire/message/index.ts | 11 +-
foreign/node/src/wire/message/poll.utils.ts | 146 +-
.../src/wire/message/send-messages.command.test.ts | 187 +-
foreign/python/Cargo.toml | 12 +-
foreign/python/src/client.rs | 12 +-
foreign/python/src/consumer.rs | 16 +-
foreign/python/src/send_message.rs | 1 +
rust-toolchain.toml | 2 +-
scripts/check-backwards-compat.sh | 4 +-
scripts/run-java-examples-from-readme.sh | 4 +-
.../lib/components/Modals/InspectMessage.svelte | 132 +-
.../RouteComponents/Settings/UsersTab.svelte | 8 +-
web/src/lib/domain/Message.ts | 7 +-
web/src/lib/domain/User.ts | 2 +-
.../routes/dashboard/settings/users/+page.svelte | 10 +-
376 files changed, 21155 insertions(+), 4978 deletions(-)
create mode 100644 .github/actions/utils/setup-go-with-cache/action.yml
create mode 100644 .github/actions/utils/setup-java-with-cache/action.yml
create mode 100644 .github/workflows/stale-prs.yml
create mode 100644 bdd/java/gradle/wrapper/gradle-wrapper.properties
create mode 100755 bdd/java/gradlew
delete mode 100644 core/common/src/locking/fast_async_lock.rs
rename core/{server/src => common/src/utils}/versioning.rs (94%)
create mode 100644 core/connectors/runtime/src/metrics.rs
create mode 100644 core/connectors/runtime/src/stats.rs
copy core/{configs_derive => harness_derive}/Cargo.toml (93%)
create mode 100644 core/harness_derive/src/attrs.rs
create mode 100644 core/harness_derive/src/codegen.rs
create mode 100644 core/harness_derive/src/lib.rs
create mode 100644 core/harness_derive/src/params.rs
create mode 100644 core/integration/src/harness/config/client.rs
create mode 100644 core/integration/src/harness/config/common.rs
rename
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClientBuilder.java
=> core/integration/src/harness/config/connectors_runtime.rs (62%)
create mode 100644 core/integration/src/harness/config/mcp.rs
copy core/integration/{tests/connectors/random => src/harness/config}/mod.rs
(70%)
create mode 100644 core/integration/src/harness/config/resolve.rs
create mode 100644 core/integration/src/harness/config/server.rs
create mode 100644 core/integration/src/harness/context.rs
create mode 100644 core/integration/src/harness/error.rs
create mode 100644 core/integration/src/harness/fixtures/mod.rs
create mode 100644 core/integration/src/harness/fixtures/postgres/container.rs
copy core/{configs/src/lib.rs =>
integration/src/harness/fixtures/postgres/mod.rs} (67%)
create mode 100644 core/integration/src/harness/fixtures/postgres/sink.rs
create mode 100644 core/integration/src/harness/fixtures/postgres/source.rs
rename
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpException.java
=> core/integration/src/harness/fixtures/random.rs (68%)
create mode 100644 core/integration/src/harness/fixtures/wiremock.rs
create mode 100644 core/integration/src/harness/handle/client.rs
create mode 100644 core/integration/src/harness/handle/client_builder.rs
create mode 100644 core/integration/src/harness/handle/common.rs
create mode 100644 core/integration/src/harness/handle/connectors_runtime.rs
create mode 100644 core/integration/src/harness/handle/mcp.rs
copy core/{server/src/configs => integration/src/harness/handle}/mod.rs (74%)
create mode 100644 core/integration/src/harness/handle/server.rs
create mode 100644 core/integration/src/harness/helpers.rs
create mode 100644 core/integration/src/harness/mod.rs
create mode 100644 core/integration/src/harness/orchestrator/builder.rs
create mode 100644 core/integration/src/harness/orchestrator/harness.rs
copy bdd/java/settings.gradle.kts =>
core/integration/src/harness/orchestrator/mod.rs (88%)
create mode 100644 core/integration/src/harness/port_reserver.rs
create mode 100644 core/integration/src/harness/seeds.rs
create mode 100644 core/integration/src/harness/traits.rs
copy core/{sdk/src/http/cluster.rs => integration/tests/cluster/mod.rs} (55%)
copy core/integration/tests/connectors/{random => api}/config.toml (82%)
create mode 100644 core/integration/tests/connectors/api/connectors/.gitkeep
create mode 100644 core/integration/tests/connectors/api/endpoints.rs
rename
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClient.java
=> core/integration/tests/connectors/api/mod.rs (73%)
copy core/integration/tests/connectors/{postgres/sink.toml =>
quickwit/config.toml} (94%)
create mode 100644 core/integration/tests/connectors/quickwit/mod.rs
create mode 100644 core/integration/tests/connectors/quickwit/quickwit_sink.rs
copy core/{connectors/runtime/example_config/connectors/stdout.toml =>
integration/tests/connectors/quickwit/sinks/quickwit.toml} (72%)
create mode 100644
core/integration/tests/server/scenarios/log_rotation_scenario.rs
create mode 100644 examples/java/gradle/wrapper/gradle-wrapper.properties
create mode 100755 examples/java/gradlew
copy examples/rust/src/{basic =>
message-headers/typed-headers}/consumer/main.rs (75%)
copy examples/rust/src/message-headers/{message-type =>
typed-headers}/producer/main.rs (71%)
delete mode 100644 foreign/csharp/Iggy_SDK/JsonConverters/HeaderKeyConverter.cs
create mode 100644
foreign/csharp/Iggy_SDK/JsonConverters/UserHeadersConverter.cs
delete mode 100755 foreign/java/dev-support/checks/build.sh
create mode 100644 foreign/java/gradle/wrapper/gradle-wrapper.properties
create mode 100755 foreign/java/gradlew
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/IggyVersion.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/builder/HttpClientBuilder.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/builder/TcpClientBuilder.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientBuilder.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/IggyHttpClientBuilder.java
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{message/MessageId.java =>
client/blocking/http/MessageMixin.java} (50%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/UrlValidator.java
copy
foreign/java/java-sdk/src/{test/java/org/apache/iggy/client/blocking/http/UsersHttpClientTest.java
=> main/java/org/apache/iggy/client/blocking/http/UserHeadersSerializer.java}
(50%)
delete mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpError.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/IggyTcpClientBuilder.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/config/RetryPolicy.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyAuthenticationException.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyAuthorizationException.java
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyClientException.java} (54%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyConflictException.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyConnectionClosedException.java
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyConnectionException.java} (52%)
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyEmptyResponseException.java} (55%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyErrorCode.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyException.java
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyInvalidArgumentException.java} (51%)
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyMalformedResponseException.java} (55%)
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyMissingCredentialsException.java} (50%)
copy web/src/lib/utils/parsers.ts =>
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyNotConnectedException.java
(57%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyOperationNotSupportedException.java
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyProtocolException.java} (53%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyResourceNotFoundException.java
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyServerException.java
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyTimeoutException.java} (52%)
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/async/UsersClient.java
=> exception/IggyTlsException.java} (54%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/exception/IggyValidationException.java
copy
foreign/java/java-sdk/src/main/java/org/apache/iggy/message/{HeaderValue.java
=> HeaderEntry.java} (81%)
create mode 100644
foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderKey.java
create mode 100644
foreign/java/java-sdk/src/main/resources/iggy-version.properties
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/IggyVersionTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/HeaderKindSerializationTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/ObjectMapperTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/UrlValidatorTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/exception/IggyErrorCodeTest.java
create mode 100644
foreign/java/java-sdk/src/test/java/org/apache/iggy/exception/IggyServerExceptionTest.java