Jason918 opened a new issue #11067:
URL: https://github.com/apache/pulsar/issues/11067


   **Describe the bug**
   pulsar-client produce failed sending v2 topic using websocket.
   
   
   **To Reproduce**
   Steps to reproduce the behavior:
   1. run standalone server using default configs.
   2.  config `brokerServiceUrl=ws://localhost:8080/` in conf/client.conf
   3. send message with cmd `bin/pulsar-client produce 
persistent://public/default/jason -m "HELLO" `
   4. See error "java.lang.IllegalArgumentException: Invalid topic name format" 
on server side.
   
   **Expected behavior**
   send message success
   
   **Screenshots**
   If applicable, add screenshots to help explain your problem.
   
   **Desktop (please complete the following information):**
    - OS: mac
   
   **Additional context**
   Client error:
   > 15:18:24.646 [main] INFO  org.eclipse.jetty.util.log - Logging initialized 
@870ms to org.eclipse.jetty.util.log.Slf4jLog
   > 15:18:24.902 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 
Trying to create websocket session.. on 
ws://localhost:8080/ws/producer/persistent/public/default/jason,org.eclipse.jetty.websocket.client.ClientUpgradeRequest@18bc345
   > 15:18:25.012 [HttpClient@398dada8-20] WARN  
org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver - Unable to 
report throwable to websocket (no @OnWebSocketError handler declared): 
org.apache.pulsar.client.cli.CmdProduce$ProducerSocket
   > org.eclipse.jetty.websocket.api.UpgradeException: Failed to upgrade to 
websocket: Unexpected HTTP Response Status Code: 500 Server Error
   >         at 
org.eclipse.jetty.websocket.client.WebSocketUpgradeRequest.onComplete(WebSocketUpgradeRequest.java:537)
 [websocket-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481) 
[jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461) 
[jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424) 
[jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:365)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:591) 
[jetty-http-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1716) 
[jetty-http-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1545) 
[jetty-http-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:204)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:144)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:79)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:172)
 [jetty-client-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 [jetty-io-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
[jetty-io-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
[jetty-io-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
 [jetty-util-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
 [jetty-util-9.4.42.v20210604.jar:9.4.42.v20210604]
   >         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_291]
   > 
   
   
   Server error
   
   > 15:18:24.996 [pulsar-web-63-14] WARN  org.eclipse.jetty.server.HttpChannel 
- /ws/producer/persistent/public/default/jason
   > java.lang.IllegalArgumentException: Invalid topic name format
   >    at 
com.google.common.base.Preconditions.checkArgument(Preconditions.java:142) 
~[guava-30.1-jre.jar:?]
   >    at 
org.apache.pulsar.websocket.AbstractWebSocketHandler.extractTopicName(AbstractWebSocketHandler.java:216)
 ~[pulsar-websocket.jar:2.9.0-SNAPSHOT]
   >    at 
org.apache.pulsar.websocket.AbstractWebSocketHandler.<init>(AbstractWebSocketHandler.java:69)
 ~[pulsar-websocket.jar:2.9.0-SNAPSHOT]
   >    at 
org.apache.pulsar.websocket.ProducerHandler.<init>(ProducerHandler.java:86) 
~[pulsar-websocket.jar:2.9.0-SNAPSHOT]
   >    at 
org.apache.pulsar.websocket.WebSocketProducerServlet.lambda$configure$0(WebSocketProducerServlet.java:42)
 ~[pulsar-websocket.jar:2.9.0-SNAPSHOT]
   >    at 
org.eclipse.jetty.websocket.server.WebSocketServerFactory.acceptWebSocket(WebSocketServerFactory.java:230)
 ~[websocket-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.websocket.server.WebSocketServerFactory.acceptWebSocket(WebSocketServerFactory.java:215)
 ~[websocket-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.websocket.servlet.WebSocketServlet.service(WebSocketServlet.java:160)
 ~[websocket-servlet-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
~[javax.servlet-api-3.1.0.jar:3.1.0]
   >    at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) 
~[jetty-servlet-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
 ~[jetty-servlet-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.apache.pulsar.broker.web.ResponseHandlerFilter.doFilter(ResponseHandlerFilter.java:65)
 ~[pulsar-broker.jar:2.9.0-SNAPSHOT]
   >    at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[jetty-servlet-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
 ~[jetty-servlet-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) 
~[jetty-servlet-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) 
~[jetty-servlet-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:179)
 ~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at org.eclipse.jetty.server.Server.handle(Server.java:516) 
~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) 
~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) 
~[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) 
[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) 
[jetty-server-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 [jetty-io-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
[jetty-io-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
[jetty-io-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
 [jetty-util-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
 [jetty-util-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
 [jetty-util-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
 [jetty-util-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
 [jetty-util-9.4.42.v20210604.jar:9.4.42.v20210604]
   >    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_291]
   >    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_291]
   >    at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [netty-common-4.1.63.Final.jar:4.1.63.Final]
   >    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_291]


-- 
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]


Reply via email to