meleagle opened a new issue #7469: URL: https://github.com/apache/pulsar/issues/7469
**Describe the bug** When using openmessaging (http://openmessaging.cloud) to benchmark a pulsar cluster that we are using in openstack a NPE is being produced. The pulsar version is 2.6.0 and there is two advertised listeners, one of the private ip and is set as the internalListenerName and the other is the external one that we want the consumer to use to connect and communicate with the brokers. The listenerName is specified in the client config and the communication starts out as successful as a tenant is created. After this a NPE is thrown and everything fails. **To Reproduce** Steps to reproduce the behavior: 1. The implementation of openmessaging is fairly modified and does not have an easy setup, but the stacktrace for the error is shown below: ``` 08:03:48.036 [pulsar-1-12] INFO org.apache.pulsar.broker.namespace.OwnershipCache - Trying to acquire ownership of benchmark/ns-Hxu5oLk/0x00000000_0x40000000 08:03:48.022 [pulsar-ordered-OrderedExecutor-7-0-EventThread] WARN org.apache.pulsar.broker.lookup.TopicLookupBase - Failed to lookup null for topic persistent://benchmark/ns-Hxu5oLk/test-0tRnnmQ-0000-partition-2 with error org.apache.pulsar.broker.PulsarServerException: Failed to acquire ownership for namespace bundle benchmark/ns-Hxu5oLk/0x40000000_0x80000000 java.util.concurrent.CompletionException: org.apache.pulsar.broker.PulsarServerException: Failed to acquire ownership for namespace bundle benchmark/ns-Hxu5oLk/0x40000000_0x80000000 at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:911) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:899) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) ~[?:1.8.0_222] at org.apache.pulsar.broker.namespace.NamespaceService.lambda$searchForCandidateBroker$11(NamespaceService.java:510) ~[org.apache.pulsar-pulsar-broker-2.6.0.jar:2.6.0] at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:870) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:852) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962) ~[?:1.8.0_222] at org.apache.pulsar.broker.namespace.OwnershipCache.lambda$tryAcquiringOwnership$1(OwnershipCache.java:231) ~[org.apache.pulsar-pulsar-broker-2.6.0.jar:2.6.0] at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962) ~[?:1.8.0_222] at org.apache.pulsar.broker.namespace.OwnershipCache$OwnedServiceUnitCacheLoader.lambda$asyncLoad$0(OwnershipCache.java:141) ~[org.apache.pulsar-pulsar-broker-2.6.0.jar:2.6.0] at org.apache.bookkeeper.util.ZkUtils$1.processResult(ZkUtils.java:80) [org.apache.bookkeeper-bookkeeper-server-4.10.0.jar:4.10.0] at org.apache.bookkeeper.zookeeper.ZooKeeperClient$10$1.processResult(ZooKeeperClient.java:737) [org.apache.bookkeeper-bookkeeper-server-4.10.0.jar:4.10.0] at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:636) [org.apache.pulsar-pulsar-zookeeper-2.6.0.jar:2.6.0] at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:510) [org.apache.pulsar-pulsar-zookeeper-2.6.0.jar:2.6.0] Caused by: org.apache.pulsar.broker.PulsarServerException: Failed to acquire ownership for namespace bundle benchmark/ns-Hxu5oLk/0x40000000_0x80000000 ... 15 more Caused by: java.util.concurrent.CompletionException: java.lang.NullPointerException at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:659) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) ~[?:1.8.0_222] ... 12 more Caused by: java.lang.NullPointerException at org.apache.pulsar.broker.namespace.NamespaceService.lambda$searchForCandidateBroker$10(NamespaceService.java:500) ~[org.apache.pulsar-pulsar-broker-2.6.0.jar:2.6.0] at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656) ~[?:1.8.0_222] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) ~[?:1.8.0_222] ... 12 more ``` **Expected behavior** Client connects to the brokers successfully and the benchmarking can complete without error. **Desktop (please complete the following information):** - Windows 10 running with WSL 1 **Additional context** After looking at the stacktrace, I was able to get the NPE to go away by modifying the NamespaceService.java class at line 500. It appears that the tls service url is getting a toString() call when it is null as security is not enabled on our clusters currently. Although the modification did fix the issue it is not a permanent fix and wasn't sure if any other issues could arise from this bug. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
