lhotari commented on issue #10433: URL: https://github.com/apache/pulsar/issues/10433#issuecomment-828953935
@dinghram Thanks for reporting. Did I understand the problem report correctly, that the NPE is happening on EntryImpl.java, line 132? https://github.com/apache/pulsar/blob/8ea4a39dc8bf6f2f23a160688bb70a80f6acfd4d/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/EntryImpl.java#L130-L133 Called from EntryCacheImpl.java, line 115: https://github.com/apache/pulsar/blob/8ea4a39dc8bf6f2f23a160688bb70a80f6acfd4d/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/EntryCacheImpl.java#L112-L115 **Please share the Pulsar version and deployment type (plain/docker/k8s helm)**. The target Java JVM version would also be useful if you aren't deploying with official k8s helm chart and Docker images. One experiment that could be useful in tracking down the problem would be to add `-Dio.netty.recycler.maxCapacityPerThread=0` to the Pulsar Broker JVM options by adding it to the `PULSAR_EXTRA_OPTS` environment variable. For example, In the k8s Helm chart deployment, an environment variable can be set for the broker by adding it under `broker.configData` in the `values.yaml` for the deployment. ``` broker: configData: PULSAR_EXTRA_OPTS: -Dio.netty.recycler.maxCapacityPerThread=0 ``` The `-Dio.netty.recycler.maxCapacityPerThread=0` setting disables object instance reuse that might be causing the issue that you have reported. Pulsar uses the Netty framework's [Recycler](https://netty.io/4.1/api/io/netty/util/Recycler.html) class to minimize allocations of some object instances. **Would it be possible for you to do a test run with `PULSAR_EXTRA_OPTS=-Dio.netty.recycler.maxCapacityPerThread=0` to see if the problem reproduces with this setting?** -- 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]
