tree 272036ef2f88eb5f2ede866c11c38903d575d184
parent 21b93526f06d5b12ee0b848c347db9503d27c5fa
author Lari Hotari <lhotari@users.noreply.github.com> 1614966564 +0200
committer GitHub <noreply@github.com> 1614966564 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgQm8kCRBK7hj4Ov3rIwAAdHIIAIT/GYmctU2t7OBu9Sh5ZetE
 F5kw0yZVgkJ9+Jp3spFL1F76bdT9UW2daEQe4agET/dFN3IQMXQKpEDmG5DxRqVg
 Axs0JYcOs1sm/n4Pm+IwKuB7cXOpSbUAWSrC++YEiSbd0o11bdfSTpC+46b0Jnn4
 gASWPFRdtGvyu9VjGLvLrpkMWPpNGndBYkrM25kG/1dUIt9b1qcDTceKZkxk2NpS
 gqHHj9Zz20VP+OkeHcU47Qj0wazf4u5eJ3ZTnS3jC4+EUEmBD0OtdcKj0rym2qY6
 UrdpS/Bl1/bazvXna+411SyJenfO3+ysfZYXwsW4b3A4Si6k8NqyKSEFWGZGfBE=
 =wngC
 -----END PGP SIGNATURE-----
 

Add NPE check for PulsarService#getAdminClient (#9782) (#9746)

### Motivation

If user set incorrect `brokerClientTlsEnabled` config, the `PulsarService#getAdminClient` would throw NPE and the error logs is not clear. For example, start a standalone pulsar with `brokerClientTlsEnabled=true`, some admin APIs that don't involve `PulsarService#getAdminClient` work well, however some admin APIs like `GET /admin/v2/non-persistent/:tenant/:namespace` will throw NPE with following logs:

```
org.apache.pulsar.broker.PulsarServerException: java.lang.NullPointerException
	at org.apache.pulsar.broker.PulsarService.getAdminClient(PulsarService.java:1193)
	at org.apache.pulsar.broker.admin.v2.NonPersistentTopics.getList(NonPersistentTopics.java:273)
```

After this PR, the logs became:

```
org.apache.pulsar.broker.PulsarServerException: java.lang.IllegalArgumentException: adminApiUrl is null, isBrokerClientTlsEnabled: true, webServiceAddressTls: null, webServiceAddress: http://localhost:8080
```

### Modifications

- Check if `adminApiUrl` is null in `PulsarService#getAdminClient` and give a human readable error message.

### Verifying this change

- [ ] Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.