[BUG] ClassNotFoundException: io.streamnative.pulsar.handlers.amqp.authentication.AuthenticationProviderBasic

Open
#864 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
docker, java

Research direction

Start with the Dockerfile that installs the AoP NAR into the apachepulsar/pulsar image, then inspect how standalone.conf loads authenticationProviders when bin/pulsar standalone starts. Reproduce the ClassNotFoundException using Pulsar 2.11.0 and AoP 2.11.0.3, and verify that the AMQP basic authentication provider registers successfully without the startup error.

Written by the indexing model from the issue text.

Description

type/bug

Describe the bug
I am trying to configure Basic AMQP authentication using apachepulsar/pulsar
Docker image + AoP. I can successfully install the protocol handler. When I register the io.streamnative.pulsar.handlers.amqp.authentication.AuthenticationProviderBasic provider in the standalone.conf authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderBasic,io.streamnative.pulsar.handlers.amqp.authentication.AuthenticationProviderBasic I get a ClassNotFoundException :

2023-03-23T16:15:58,773+0000 [main] ERROR org.apache.pulsar.broker.PulsarService - Failed to start Pulsar service: Failed to load an authentication provider.
org.apache.pulsar.broker.PulsarServerException: Failed to load an authentication provider.
       at org.apache.pulsar.broker.authentication.AuthenticationService.<init>(AuthenticationService.java:81) ~[org.apache.pulsar-pulsar-broker-common-2.11.0.jar:2.11.0]
       at org.apache.pulsar.broker.service.BrokerService.<init>(BrokerService.java:348) ~[org.apache.pulsar-pulsar-broker-2.11.0.jar:2.11.0]
       at org.apache.pulsar.broker.PulsarService.newBrokerService(PulsarService.java:1839) ~[org.apache.pulsar-pulsar-broker-2.11.0.jar:2.11.0]
       at org.apache.pulsar.broker.PulsarService.start(PulsarService.java:756) ~[org.apache.pulsar-pulsar-broker-2.11.0.jar:2.11.0]
       at org.apache.pulsar.PulsarStandalone.start(PulsarStandalone.java:348) ~[org.apache.pulsar-pulsar-broker-2.11.0.jar:2.11.0]
       at org.apache.pulsar.PulsarStandaloneStarter.main(PulsarStandaloneStarter.java:141) ~[org.apache.pulsar-pulsar-broker-2.11.0.jar:2.11.0]
Caused by: java.lang.ClassNotFoundException: io.streamnative.pulsar.handlers.amqp.authentication.AuthenticationProviderBasic
       at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
       at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
       at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
       at java.lang.Class.forName0(Native Method) ~[?:?]
       at java.lang.Class.forName(Class.java:375) ~[?:?]
       at org.apache.pulsar.broker.authentication.AuthenticationService.<init>(AuthenticationService.java:57) ~[org.apache.pulsar-pulsar-broker-common-2.11.0.jar:2.11.0]
       ... 5 more

What am I doing wrong ?

To Reproduce
Steps to reproduce the behavior:

  1. Write a Dockerfile to install the AoP NAR file in the apachepulsar/pulsar image
  2. Add io.streamnative.pulsar.handlers.amqp.authentication.AuthenticationProviderBasic to the authenticationProviders parameter in the standalone.conf file.
  3. Run the image with the command bin/pulsar standalone
  4. Look for the error in the logs.

Expected behavior
The basic authentication provider for AMQP should register successfully.

Additional context
Using Pulsar 2.11.0 and AoP 2.11.0.3

Dominant language
Java
Stars
123
Forks
41
Avg merge
4h 43m
Merged PRs (30d)
4

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from streamnative/aop

All issues in streamnative/aop

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.