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 2022/04/19 09:51:09 UTC

[pulsar] 07/26: [fix][broker] Fix potential NPE in Replicator (#15003)

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

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

commit c16f500939fa80e48e97101a48612c72857108f5
Author: Qiang Huang <HQ...@users.noreply.github.com>
AuthorDate: Sat Apr 2 16:54:58 2022 +0800

    [fix][broker] Fix potential NPE in Replicator (#15003)
    
    ### Motivation
    ```java
           public CompletableFuture<MessageId> getFuture() {
                return null;
            }
    ```
    The return value null may cause potential NPE in ` getFuture`.  The method does similarly: CompletableFuture<Void> remove()` & .
    
    ### Modifications
    
    Use ` return CompletableFuture.completedFuture(null);` instead of `return null;`
    
    (cherry picked from commit b604b4c9fb9fdae832bfabc61a0527ee0aec566f)
---
 .../main/java/org/apache/pulsar/broker/service/AbstractReplicator.java  | 2 +-
 .../pulsar/broker/service/nonpersistent/NonPersistentReplicator.java    | 2 +-
 .../apache/pulsar/broker/service/persistent/PersistentReplicator.java   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractReplicator.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractReplicator.java
index 0af749c0b73..e4b00cb992e 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractReplicator.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractReplicator.java
@@ -209,7 +209,7 @@ public abstract class AbstractReplicator {
 
     public CompletableFuture<Void> remove() {
         // No-op
-        return null;
+        return CompletableFuture.completedFuture(null);
     }
 
     protected boolean isWritable() {
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentReplicator.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentReplicator.java
index ce1fe3443f5..b863e9eb3c2 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentReplicator.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentReplicator.java
@@ -229,7 +229,7 @@ public class NonPersistentReplicator extends AbstractReplicator implements Repli
 
         @Override
         public CompletableFuture<MessageId> getFuture() {
-            return null;
+            return CompletableFuture.completedFuture(null);
         }
     }
 
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentReplicator.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentReplicator.java
index 4d79c9a37cf..1db685ccbec 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentReplicator.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentReplicator.java
@@ -503,7 +503,7 @@ public class PersistentReplicator extends AbstractReplicator
 
         @Override
         public CompletableFuture<MessageId> getFuture() {
-            return null;
+            return CompletableFuture.completedFuture(null);
         }
     }