You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2020/08/06 08:58:17 UTC
[pulsar] branch master updated: [pulsar-proxy] Handle NPE while
updating proxy stats (#7766)
This is an automated email from the ASF dual-hosted git repository.
sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 92f2577 [pulsar-proxy] Handle NPE while updating proxy stats (#7766)
92f2577 is described below
commit 92f257700f13a772ab2ca9ea44c9321e034eea54
Author: Rajan Dhabalia <rd...@apache.org>
AuthorDate: Thu Aug 6 01:57:49 2020 -0700
[pulsar-proxy] Handle NPE while updating proxy stats (#7766)
### Motivation
Handle NPE while updating proxy-stats
```
java.lang.NullPointerException
at org.apache.pulsar.proxy.server.ProxyService.lambda$1(ProxyService.java:161)
at java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4649)
at java.util.Collections$SetFromMap.forEach(Collections.java:5476)
at org.apache.pulsar.proxy.server.ProxyService.lambda$0(ProxyService.java:159)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:745)
```
---
.../src/main/java/org/apache/pulsar/proxy/server/ProxyService.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
index b1676a6..a531068 100644
--- a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
+++ b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
@@ -143,7 +143,10 @@ public class ProxyService implements Closeable {
.newSingleThreadScheduledExecutor(new DefaultThreadFactory("proxy-stats-executor"));
statsExecutor.schedule(()->{
this.clientCnxs.forEach(cnx -> {
- cnx.getDirectProxyHandler().getInboundChannelRequestsRate().calculateRate();
+ if (cnx.getDirectProxyHandler() != null
+ && cnx.getDirectProxyHandler().getInboundChannelRequestsRate() != null) {
+ cnx.getDirectProxyHandler().getInboundChannelRequestsRate().calculateRate();
+ }
});
this.topicStats.forEach((topic, stats) -> {
stats.calculate();