You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by pi...@apache.org on 2026/01/30 12:18:09 UTC

(iggy) branch non_string_header_key updated (b1cc06dc2 -> df3348fb4)

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

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


    from b1cc06dc2 Improve user headers mapping safety
     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)
     new df3348fb4 merge

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/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 +-
 .../iggy/client/blocking/IggyClientBuilder.java    |  37 ---
 .../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}               |  28 +-
 .../org/apache/iggy/exception/IggyErrorCode.java   | 162 ++++++++++
 .../org/apache/iggy/exception/IggyException.java   |  58 ++++
 .../IggyInvalidArgumentException.java}             |  32 +-
 .../IggyMalformedResponseException.java}           |  29 +-
 .../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 ++++++++++
 97 files changed, 3677 insertions(+), 1240 deletions(-)
 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
 delete mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClientBuilder.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/IggyHttpClientBuilder.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/UrlValidator.java
 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%)
 rename foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/blocking/IggyClient.java => exception/IggyEmptyResponseException.java} (53%)
 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%)
 rename foreign/java/java-sdk/src/main/java/org/apache/iggy/{client/blocking/http/error/IggyHttpException.java => 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
 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/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


(iggy) 01/01: merge

Posted by pi...@apache.org.
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 <pi...@gmail.com>
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));