2019-07-07 23:56:30 UTC - Jim Lambert: Sort of stuck and looking for some
suggestions…
I’m running standalone. I’ve got the TLS transport working and tested it
successfully, but when I try to enable authen/authz it fails.
standalone.conf authen/authz changes:
```
proxyRoles=standalone-puslar-proxy
authenticateOriginalAuthData=true
authenticationEnabled=true
authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderTls
forwardAuthorizationCredentials=true
superUserRoles=standalone-pulsar-admin,standalone-puslar-proxy
brokerClientAuthenticationPlugin=org.apache.pulsar.client.impl.auth.AuthenticationTls
brokerClientAuthenticationParameters=tlsCertFile:/pulsar/proxy-cert.pem,tlsKeyFile:/pulsar/proxy-key.pem
brokerClientTrustCertsFilePath=/pulsar/rootCA.pem
brokerClientTlsEnabled=true
```
----
2019-07-07 23:56:34 UTC - Jim Lambert: here’s the error from the log:
```23:09:45.587 [main] INFO org.apache.pulsar.functions.worker.WorkerService -
Created Pulsar client
23:09:45.752 [pulsar-client-io-70-1] INFO
org.apache.pulsar.client.impl.ConnectionPool - [[id: 0xecf2554e,
L:/127.0.0.1:37584 - R:127.0.0.1/127.0.0.1:6650]] Connected to server
23:09:45.763 [pulsar-io-49-1] INFO org.apache.pulsar.broker.service.ServerCnx
- New connection from /127.0.0.1:37584
23:09:45.770 [pulsar-io-49-1] WARN org.apache.pulsar.broker.service.ServerCnx
- [/127.0.0.1:37584] Unable to authenticate: Unsupported authentication mode:
none
23:09:45.775 [pulsar-io-49-1] INFO org.apache.pulsar.broker.service.ServerCnx
- Closed connection from /127.0.0.1:37584
23:09:45.775 [pulsar-client-io-70-1] WARN
org.apache.pulsar.client.impl.ClientCnx - [127.0.0.1/127.0.0.1:6650] Got
exception IllegalArgumentException : null
java.lang.IllegalArgumentException: null
at
com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
~[com.google.guava-guava-21.0.jar:?]
at
org.apache.pulsar.client.impl.ClientCnx.handleError(ClientCnx.java:527)
~[org.apache.pulsar-pulsar-client-original-2.3.1.jar:2.3.1]
at
org.apache.pulsar.common.api.PulsarDecoder.channelRead(PulsarDecoder.java:157)
~[org.apache.pulsar-pulsar-common-2.3.1.jar:2.3.1]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:433)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:330)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:909)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
```
----
2019-07-08 08:29:55 UTC - Dennis Sehalic: @Dennis Sehalic has joined the channel
----
2019-07-08 08:41:17 UTC - Dennis Sehalic: Hello, I'm new here
Been looking at Pulsar and been trying it out, really like it. One use case we
have is a multicast/broadcast scenario where multiple clients sometimes needs
to get the same messages (multiple clients looking at the same resource and
event messages for the resource are shown close to real time in each client).
As far as I understand it Pulsar doesn't have a multicast subscription mode,
any tips on a best practice going about solving this?
----
2019-07-08 08:42:13 UTC - Sijie Guo: you can just create as many subscriptions
as needed.
----
2019-07-08 08:42:22 UTC - Sijie Guo: the messages are broadcasted to
subscriptoins
----
2019-07-08 08:42:24 UTC - Venugopal Doddi: NVM @Sijie Guo i have figured out
this. We are getting the metrics now.
----
2019-07-08 08:42:46 UTC - Sijie Guo: sorry that I missed this message
----
2019-07-08 08:44:31 UTC - Dennis Sehalic: aha okay, I'll look into that thanks
----
2019-07-08 08:56:05 UTC - Dennis Sehalic: @Sijie Guo that should work. a
followup question though, are there any performance/resource considerations
having many (say 100+) subscriptions to a single topic, or rephrased is there a
limit you probably should stay below?
----
2019-07-08 08:57:50 UTC - Sijie Guo: 100+ is fine. the number of subscriptions
will be limited by two factors, the broker outbound bandwidth and the memory to
keep the active subscriptions.
----
2019-07-08 08:58:41 UTC - Dennis Sehalic: ok, and the mem footprint per
subscription is low I'm guessing?
----
2019-07-08 09:04:41 UTC - Sijie Guo: yes.
----
2019-07-08 09:05:00 UTC - Sijie Guo: it won’t be a problem unless you have
millions of subscriptions.
----
2019-07-08 09:05:10 UTC - Dennis Sehalic: ok thanks man (=
----