flowchartsman commented on issue #18972:
URL: https://github.com/apache/pulsar/issues/18972#issuecomment-1479770275

   ```
   $ pulsar-admin functions upload --path function://public/default/test 
--source-file `pwd`/funcbin
   HTTP 500 Internal Server Error
   
   Reason: HTTP 500 Internal Server Error
   ```
   
   In the logs:
   
   ```
   2023-03-22T14:49:59,388+0000 [pulsar-web-36-3] WARN  
org.eclipse.jetty.server.HttpChannel - /admin/v3/functions/upload
   javax.servlet.ServletException: javax.servlet.ServletException: 
java.lang.IllegalArgumentException: Invalid path string 
"/pulsar/functions/function://public/default/test/<default>/ledgers" caused by 
empty node name spe
   cified @28
           at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:162)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:181)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at org.eclipse.jetty.server.Server.handle(Server.java:516) 
~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) 
~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) 
~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) 
~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) 
~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 ~[org.eclipse.jetty-jetty-io-9.4.48.v20220622.jar:9.4.48.v20220622]
           at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
~[org.eclipse.jetty-jetty-io-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
~[org.eclipse.jetty-jetty-io-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
 ~[org.eclipse.jetty-jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
 ~[org.eclipse.jetty-jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
 ~[org.eclipse.jetty-jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
 ~[org.eclipse.jetty-jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
 ~[org.eclipse.jetty-jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
~[?:?]
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
~[?:?]
           at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 ~[io.netty-netty-common-4.1.86.Final.jar:4.1.86.Final]
           at java.lang.Thread.run(Thread.java:829) ~[?:?]
   Caused by: javax.servlet.ServletException: 
java.lang.IllegalArgumentException: Invalid path string 
"/pulsar/functions/function://public/default/test/<default>/ledgers" caused by 
empty node name specified @28
           at 
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:410) 
~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.34.jar:?]
           at 
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346) 
~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.34.jar:?]
           at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
 ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.34.jar:?]
           at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
 ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.34.jar:?]
           at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
 ~[org.glassfish.jersey.containers-jersey-container-servlet-core-2.34.jar:?]
           at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) 
~[org.eclipse.jetty-jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
 ~[org.eclipse.jetty-jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.apache.pulsar.broker.web.ResponseHandlerFilter.doFilter(ResponseHandlerFilter.java:67)
 ~[org.apache.pulsar-pulsar-broker-2.10.3.jar:2.10.3]
           at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[org.eclipse.jetty-jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
 ~[org.eclipse.jetty-jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) 
~[org.eclipse.jetty-jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) 
~[org.eclipse.jetty-jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
 ~[org.eclipse.jetty-jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
           ... 19 more
   
   ```
   
   So it looks like it should actually be:
   
   ```
   pulsar-admin functions upload --path public/default/test --source-file 
`pwd`/funcbin
   ```
   
   This appears to work, so now I need to test deploying it.  Of course, it's 
still not clear how to delete old versions of the function or list them, but 
this appears to be progress on using `functions upload` at least...
   


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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to