datastax / pulsar-helm-chart

Apache Pulsar Helm chart
Apache License 2.0
46 stars 38 forks source link

Proxy Fails to find pulsar-openid-connect-plugin jar when using keycloak values #244

Closed michaeljmarshall closed 2 years ago

michaeljmarshall commented 2 years ago

Problem

When using the example keycloak values, you'll get the following error for the proxy and the websocket proxy.

21:38:37.550 [main] ERROR org.apache.pulsar.proxy.server.ProxyServiceStarter - Failed to start proxy.
org.apache.pulsar.broker.PulsarServerException: Failed to load an authentication provider.
    at org.apache.pulsar.broker.authentication.AuthenticationService.<init>(AuthenticationService.java:81) ~[com.datastax.oss-pulsar-broker-common-2.8.3.1.0.11.jar:2.8.3.1.0.11]
    at org.apache.pulsar.proxy.server.ProxyServiceStarter.start(ProxyServiceStarter.java:175) ~[com.datastax.oss-pulsar-proxy-2.8.3.1.0.11.jar:2.8.3.1.0.11]
    at org.apache.pulsar.proxy.server.ProxyServiceStarter.main(ProxyServiceStarter.java:166) [com.datastax.oss-pulsar-proxy-2.8.3.1.0.11.jar:2.8.3.1.0.11]
Caused by: java.lang.ClassNotFoundException: com.datastax.oss.pulsar.auth.AuthenticationProviderOpenID
    at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[?:?]
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:?]
    at java.lang.Class.forName(Class.java:315) ~[?:?]
    at org.apache.pulsar.broker.authentication.AuthenticationService.<init>(AuthenticationService.java:58) ~[com.datastax.oss-pulsar-broker-common-2.8.3.1.0.11.jar:2.8.3.1.0.11]
    ... 2 more

Solution

The ideal solution is to package the class in the core docker image. Since it will take some time to do that, the temporary solution is to use the -all image.