dragonls edited a comment on issue #10300:
URL: https://github.com/apache/pulsar/issues/10300#issuecomment-824760511
> @dragonls you can add such config in broker.conf
>
> ```
> proxyRoles=my-proxy-role
> superUserRoles=my-proxy-role
> ```
@linlinnn I am using pulsar on k8s, and tried the config as you said. Still
getting the same error.
We can look into the exception,
https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/ServerCnx.java#L408
, it is not about pulsar proxy component but the authorization control.
The detailed error log while using `./bin/pulsar-perf` to consume a
patitioned topic, which is updated from 4 partitions to 5:
```
19:45:08.291 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-0][roleA-test] Subscribed to topic on
pulsar-broker-13.pulsar-broker.pulsar.svc.cluster.local/9.165.129.10:6650 --
consumer: 0
19:45:08.291 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-1][roleA-test] Subscribed to topic on
pulsar-broker-13.pulsar-broker.pulsar.svc.cluster.local/9.165.129.10:6650 --
consumer: 1
19:45:08.291 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-2][roleA-test] Subscribed to topic on
pulsar-broker-13.pulsar-broker.pulsar.svc.cluster.local/9.165.129.10:6650 --
consumer: 2
19:45:08.293 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-3][roleA-test] Subscribed to topic on
pulsar-broker-13.pulsar-broker.pulsar.svc.cluster.local/9.165.129.10:6650 --
consumer: 3
19:45:08.293 [pulsar-client-io-1-1] WARN
org.apache.pulsar.client.impl.MultiTopicsConsumerImpl -
[persistent://test/auth/topic] Failed to subscribe for topic
[persistent://test/auth/topic] in topics consumer
org.apache.pulsar.client.api.PulsarClientException$AuthorizationException:
Proxy Client is not authorized to Lookup
19:45:08.294 [pulsar-external-listener-3-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-4] [roleA-test] Closed Consumer (not
connected)
19:45:08.298 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-3] [roleA-test] Closed consumer
19:45:08.299 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-2] [roleA-test] Closed consumer
19:45:08.299 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-1] [roleA-test] Closed consumer
19:45:08.300 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.ConsumerImpl -
[persistent://test/auth/topic-partition-0] [roleA-test] Closed consumer
19:45:08.300 [pulsar-client-io-1-1] WARN
org.apache.pulsar.client.impl.MultiTopicsConsumerImpl -
[persistent://test/auth/topic] Failed to subscribe for topic
[persistent://test/auth/topic] in topics consumer, subscribe error:
org.apache.pulsar.client.api.PulsarClientException$AuthorizationException:
Proxy Client is not authorized to Lookup
19:45:08.300 [pulsar-client-io-1-1] WARN
org.apache.pulsar.client.impl.MultiTopicsConsumerImpl - Failed subscription for
createPartitionedConsumer: persistent://test/auth/topic 5,
e:java.util.concurrent.CompletionException:
org.apache.pulsar.client.api.PulsarClientException$AuthorizationException:
Proxy Client is not authorized to Lookup
Exception in thread "main" java.util.concurrent.ExecutionException:
org.apache.pulsar.client.api.PulsarClientException$AuthorizationException:
Failed to subscribe persistent://test/auth/topic with 5 partitions
Proxy Client is not authorized to Lookup
at
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
at
org.apache.pulsar.testclient.PerformanceConsumer.main(PerformanceConsumer.java:337)
Caused by:
org.apache.pulsar.client.api.PulsarClientException$AuthorizationException:
Failed to subscribe persistent://test/auth/topic with 5 partitions
Proxy Client is not authorized to Lookup
at
org.apache.pulsar.client.api.PulsarClientException.wrap(PulsarClientException.java:845)
at
org.apache.pulsar.client.impl.MultiTopicsConsumerImpl.lambda$createPartitionedConsumer$35(MultiTopicsConsumerImpl.java:857)
at
java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:884)
at
java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:866)
at
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
at
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)
at
org.apache.pulsar.client.impl.MultiTopicsConsumerImpl.lambda$null$42(MultiTopicsConsumerImpl.java:1015)
at
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
at
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
at
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
at
java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
at
org.apache.pulsar.client.impl.ConsumerImpl.cleanupAtClose(ConsumerImpl.java:1079)
at
org.apache.pulsar.client.impl.ConsumerImpl.lambda$closeAsync$15(ConsumerImpl.java:1064)
at
java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:836)
at
java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:811)
at
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
at
java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
at
org.apache.pulsar.client.impl.ClientCnx.handleSuccess(ClientCnx.java:444)
at
org.apache.pulsar.common.protocol.PulsarDecoder.channelRead(PulsarDecoder.java:268)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at
io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
at
io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
```
The error log shows that not authorized to Lookup
`persistent://test/auth/topic-partition-4`, which is the new partition.
--
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]