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

eolivelli pushed a commit to branch 2.7.2_ds_tmp
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit e3081b3bc47de52f9881dacbbdae330ce9656f30
Author: Enrico Olivelli <eolive...@apache.org>
AuthorDate: Tue Jan 5 12:10:10 2021 +0100

    Issue 9130: Pulsar-admin sinks create: bad error message 
"java.lang.NullPointerException: path is 'null'." in case of missing "--name" 
parameter
---
 .../main/java/org/apache/pulsar/client/admin/internal/SinksImpl.java | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/SinksImpl.java
 
b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/SinksImpl.java
index a439823..8954adb 100644
--- 
a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/SinksImpl.java
+++ 
b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/SinksImpl.java
@@ -39,6 +39,7 @@ import javax.ws.rs.core.Response;
 
 import lombok.extern.slf4j.Slf4j;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.pulsar.client.admin.PulsarAdminException;
 import org.apache.pulsar.client.admin.Sink;
 import org.apache.pulsar.client.admin.Sinks;
@@ -237,6 +238,10 @@ public class SinksImpl extends ComponentResource 
implements Sinks, Sink {
     @Override
     public CompletableFuture<Void> createSinkAsync(SinkConfig sinkConfig, 
String fileName) {
         final CompletableFuture<Void> future = new CompletableFuture<>();
+        if (StringUtils.isBlank(sinkConfig.getName())) {
+            future.completeExceptionally(new PulsarAdminException("sink name 
is required"));
+            return future;
+        }
         try {
             RequestBuilder builder =
                     post(sink.path(sinkConfig.getTenant())

Reply via email to