This is an automated email from the ASF dual-hosted git repository.

piotr pushed a commit to branch non_string_header_key
in repository https://gitbox.apache.org/repos/asf/iggy.git

commit df3348fb464fd0c82fc9eec8c21c9b6185b98a95
Merge: b1cc06dc2 d4f9ebc10
Author: spetz <[email protected]>
AuthorDate: Fri Jan 30 13:17:59 2026 +0100

    merge

 .github/actions/go/pre-merge/action.yml            |   2 +-
 bdd/go/Dockerfile                                  |   2 +-
 .../org/apache/iggy/bdd/BasicMessagingSteps.java   |   1 +
 .../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          |   2 +-
 .../consumer/MessageHeadersConsumer.java           |   2 +-
 .../producer/MessageHeadersProducer.java           |   2 +-
 .../multitenant/consumer/MultiTenantConsumer.java  |   4 +-
 .../multitenant/producer/MultiTenantProducer.java  |   4 +-
 .../sinkdataproducer/SinkDataProducer.java         |   2 +-
 .../iggy/examples/streambuilder/StreamBasic.java   |   2 +-
 foreign/java/README.md                             | 129 ++++++++
 .../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/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 ++++-
 .../client/blocking/http/SystemHttpClient.java     |   3 +-
 .../iggy/client/blocking/http/UrlValidator.java    |  60 ++++
 .../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}               |  32 +-
 .../org/apache/iggy/exception/IggyErrorCode.java   | 162 ++++++++++
 .../org/apache/iggy/exception/IggyException.java   |  58 ++++
 .../IggyInvalidArgumentException.java}             |  32 +-
 .../IggyMalformedResponseException.java}           |  28 +-
 .../IggyMissingCredentialsException.java}          |  34 ++-
 .../IggyNotConnectedException.java}                |  25 +-
 .../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 +-
 .../java/org/apache/iggy/message/HeaderKind.java   |   3 +-
 .../java/org/apache/iggy/message/MessageState.java |   4 +-
 .../java/org/apache/iggy/message/Partitioning.java |   3 +-
 .../org/apache/iggy/serde/BytesSerializer.java     |  11 +-
 .../apache/iggy/topic/CompressionAlgorithm.java    |   4 +-
 .../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      |   1 +
 .../client/blocking/http/HttpClientFactory.java    |   3 +-
 .../client/blocking/http/UrlValidatorTest.java     |  90 ++++++
 .../client/blocking/tcp/BytesSerializerTest.java   |  13 +-
 .../blocking/tcp/IggyTcpClientBuilderTest.java     | 103 +++----
 .../iggy/client/blocking/tcp/TcpClientFactory.java |  13 +-
 .../apache/iggy/exception/IggyErrorCodeTest.java   | 149 +++++++++
 .../iggy/exception/IggyServerExceptionTest.java    | 156 ++++++++++
 96 files changed, 3683 insertions(+), 1200 deletions(-)

diff --cc 
foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderKind.java
index fe1bf2ebf,00f024c25..753a9ee5a
--- 
a/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderKind.java
+++ 
b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderKind.java
@@@ -19,38 -19,23 +19,39 @@@
  
  package org.apache.iggy.message;
  
 +import com.fasterxml.jackson.annotation.JsonProperty;
+ import org.apache.iggy.exception.IggyInvalidArgumentException;
  
  public enum HeaderKind {
 +    @JsonProperty("raw")
      Raw(1),
 +    @JsonProperty("string")
      String(2),
 +    @JsonProperty("bool")
      Bool(3),
 +    @JsonProperty("int8")
      Int8(4),
 +    @JsonProperty("int16")
      Int16(5),
 +    @JsonProperty("int32")
      Int32(6),
 +    @JsonProperty("int64")
      Int64(7),
 +    @JsonProperty("int128")
      Int128(8),
 +    @JsonProperty("uint8")
      Uint8(9),
 +    @JsonProperty("uint16")
      Uint16(10),
 +    @JsonProperty("uint32")
      Uint32(11),
 +    @JsonProperty("uint64")
      Uint64(12),
 +    @JsonProperty("uint128")
      Uint128(13),
 +    @JsonProperty("float32")
      Float32(14),
 +    @JsonProperty("float64")
      Float64(15);
  
      private final int code;
diff --cc 
foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Partitioning.java
index 50a1e8a67,c725eb4ee..c451510d2
--- 
a/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Partitioning.java
+++ 
b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Partitioning.java
@@@ -20,8 -20,7 +20,9 @@@
  package org.apache.iggy.message;
  
  import org.apache.commons.lang3.ArrayUtils;
+ import org.apache.iggy.exception.IggyInvalidArgumentException;
 +import org.apache.iggy.serde.Base64Serializer;
 +import tools.jackson.databind.annotation.JsonSerialize;
  
  import java.nio.ByteBuffer;
  
diff --cc 
foreign/java/java-sdk/src/main/java/org/apache/iggy/serde/BytesSerializer.java
index 8e61d6df7,9971575ee..cc6f6bd11
--- 
a/foreign/java/java-sdk/src/main/java/org/apache/iggy/serde/BytesSerializer.java
+++ 
b/foreign/java/java-sdk/src/main/java/org/apache/iggy/serde/BytesSerializer.java
@@@ -23,8 -23,8 +23,9 @@@ import io.netty.buffer.ByteBuf
  import io.netty.buffer.Unpooled;
  import org.apache.commons.lang3.ArrayUtils;
  import org.apache.iggy.consumergroup.Consumer;
+ import org.apache.iggy.exception.IggyInvalidArgumentException;
  import org.apache.iggy.identifier.Identifier;
 +import org.apache.iggy.message.HeaderKey;
  import org.apache.iggy.message.HeaderValue;
  import org.apache.iggy.message.Message;
  import org.apache.iggy.message.MessageHeader;
@@@ -218,8 -217,8 +219,8 @@@ public final class BytesSerializer 
          }
          ByteBuf buffer = Unpooled.buffer(8, 8);
          byte[] valueAsBytes = value.toByteArray();
 -        if (valueAsBytes.length > 9 || valueAsBytes.length == 9 && 
valueAsBytes[0] != 0) {
 +        if (valueAsBytes.length > 9 || (valueAsBytes.length == 9 && 
valueAsBytes[0] != 0)) {
-             throw new IllegalArgumentException("Value too large for U64: " + 
value);
+             throw new IggyInvalidArgumentException("Value too large for U64: 
" + value);
          }
          ArrayUtils.reverse(valueAsBytes);
          buffer.writeBytes(valueAsBytes, 0, Math.min(8, valueAsBytes.length));
@@@ -235,8 -234,8 +236,8 @@@
          }
          ByteBuf buffer = Unpooled.buffer(16, 16);
          byte[] valueAsBytes = value.toByteArray();
 -        if (valueAsBytes.length > 17 || valueAsBytes.length == 17 && 
valueAsBytes[0] != 0) {
 +        if (valueAsBytes.length > 17 || (valueAsBytes.length == 17 && 
valueAsBytes[0] != 0)) {
-             throw new IllegalArgumentException("Value too large for U128: " + 
value);
+             throw new IggyInvalidArgumentException("Value too large for U128: 
" + value);
          }
          ArrayUtils.reverse(valueAsBytes);
          buffer.writeBytes(valueAsBytes, 0, Math.min(16, valueAsBytes.length));

Reply via email to