You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2021/06/26 14:39:39 UTC

[pulsar] 02/04: MINOR: Add error message to setMaxPendingMessagesAcrossPartitions (#10709)

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

penghui pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit e37e0df5a1f865ce5dbe5da05c183f6d9ac15c62
Author: wenbingshen <ol...@gmail.com>
AuthorDate: Thu May 27 09:24:07 2021 +0800

    MINOR: Add error message to setMaxPendingMessagesAcrossPartitions (#10709)
    
    ### Motivation
    When maxPendingMessagesAcrossPartitions is less than maxPendingMessages, an error message will be thrown: null
    
    ### Modifications
    return "maxPendingMessagesAcrossPartitions needs to be >= maxPendingMessages" instead
    
    (cherry picked from commit 2cfed8cd62655c79828ebebb81d20736c6fc2fa4)
---
 .../apache/pulsar/client/impl/conf/ProducerConfigurationData.java    | 3 ++-
 .../java/org/apache/pulsar/client/impl/ProducerBuilderImplTest.java  | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ProducerConfigurationData.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ProducerConfigurationData.java
index c48598a..3100952 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ProducerConfigurationData.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ProducerConfigurationData.java
@@ -133,7 +133,8 @@ public class ProducerConfigurationData implements Serializable, Cloneable {
     }
 
     public void setMaxPendingMessagesAcrossPartitions(int maxPendingMessagesAcrossPartitions) {
-        checkArgument(maxPendingMessagesAcrossPartitions >= maxPendingMessages);
+        checkArgument(maxPendingMessagesAcrossPartitions >= maxPendingMessages,
+                "maxPendingMessagesAcrossPartitions needs to be >= maxPendingMessages");
         this.maxPendingMessagesAcrossPartitions = maxPendingMessagesAcrossPartitions;
     }
 
diff --git a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/ProducerBuilderImplTest.java b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/ProducerBuilderImplTest.java
index b3cda2e..18945cc 100644
--- a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/ProducerBuilderImplTest.java
+++ b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/ProducerBuilderImplTest.java
@@ -343,6 +343,11 @@ public class ProducerBuilderImplTest {
         producerBuilderImpl.maxPendingMessagesAcrossPartitions(999);
     }
 
+    @Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "maxPendingMessagesAcrossPartitions needs to be >= maxPendingMessages")
+    public void testProducerBuilderImplWhenMaxPendingMessagesAcrossPartitionsPropertyIsInvalidErrorMessages() {
+        producerBuilderImpl.maxPendingMessagesAcrossPartitions(999);
+    }
+
     @Test
     public void testProducerBuilderImplWhenNumericPropertiesAreValid() {
         producerBuilderImpl.batchingMaxPublishDelay(1, TimeUnit.SECONDS);