jetty server: karma not able to talk to cleaning service properly
danishc opened this issue · comments
related code line:
Line 28 in f5d2acf
replacing it with 9.4.8.v20171121 version works but the version has vulnerabilities
https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-server/9.4.8.v20171121
while loading a csv file from karma GUI the WorksheetCleaningUpdate command is not able to talk to Cleaning Service properly.
However, if the service is accessed using localhost:8080/cleaningService/IdentifyData?json={JSON_STRING}
directly it works fine for short json strings but not for longer text.
To Reproduce
Steps to reproduce the behavior:
- Compile the source code of the Karma master branch
- run the kama using from karma-web directory using jetty on localhost
- load a CSV file
- see the error in the terminal
Expected behavior
there should not be any error related to cleaning a valid json object
Screenshots
ERROR StatusLogger Reconfiguration failed: No configuration found for '46a795de' at 'null' in 'null' [WARNING] java.lang.IllegalStateException: Form is larger than max length 0 org.eclipse.jetty.http.BadMessageException: 400: Unable to parse form content at org.eclipse.jetty.server.Request.getParameters(Request.java:439) at org.eclipse.jetty.server.Request.getParameter(Request.java:1075) at IdentifyData.doGet(IdentifyData.java:435) at IdentifyData.doPost(IdentifyData.java:759) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:228) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.IllegalStateException: Form is larger than max length 0 at org.eclipse.jetty.server.Request.extractFormParameters(Request.java:576) at org.eclipse.jetty.server.Request.extractContentParameters(Request.java:531) at org.eclipse.jetty.server.Request.getParameters(Request.java:434) ... 44 more ERROR [2022-02-02 22:03:20,911] (WorksheetCleaningUpdate->generateJson->163): Error occured with cleaning service for HNode:
Desktop (please complete the following information):
- OS: ubuntu
- Browser chrome
- Version latest
This issue doesnt happen if tomcat server is used for deployment. All available versions of Jetty server seems to have issues with connecting to cleaning service or cluster service.