Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ParameterUtils.topicPatternByReplicationFactorFromBody get exception IllegalStateException STREAMED #1574

Open
ruanliang-hualun opened this issue May 28, 2021 · 1 comment

Comments

@ruanliang-hualun
Copy link

ruanliang-hualun commented May 28, 2021

Here is the detail description
1:[root@master1 kafka]# curl http://10.32.16.11:8192/kafkacruisecontrol/topic_configuration -X POST -d 'topic=aaa&replication_factor=3&json=true&verbose=true'

2:I got an error as below
{ "errorMessage": "STREAMED", "stackTrace": "java.lang.IllegalStateException: STREAMED at org.eclipse.jetty.server.Request.getReader(Request.java:1194) at com.linkedin.kafka.cruisecontrol.servlet.parameters.ParameterUtils.topicPatternByReplicationFactorFromBody(ParameterUtils.java:450) at com.linkedin.kafka.cruisecontrol.servlet.parameters.ParameterUtils.topicPatternByReplicationFactor(ParameterUtils.java:478) at com.linkedin.kafka.cruisecontrol.servlet.parameters.TopicReplicationFactorChangeParameters.initParameters(TopicReplicationFactorChangeParameters.java:63) at com.linkedin.kafka.cruisecontrol.servlet.parameters.TopicReplicationFactorChangeParameters.maybeBuildTopicReplicationFactorChangeParameters(TopicReplicationFactorChangeParameters.java:86) at com.linkedin.kafka.cruisecontrol.servlet.parameters.TopicConfigurationParameters.initParameters(TopicConfigurationParameters.java:93) at com.linkedin.kafka.cruisecontrol.servlet.parameters.AbstractParameters.parseParameters(AbstractParameters.java:71) at com.linkedin.kafka.cruisecontrol.servlet.handler.AbstractRequest.handle(AbstractRequest.java:36) at com.linkedin.kafka.cruisecontrol.servlet.KafkaCruiseControlServlet.handlePost(KafkaCruiseControlServlet.java:218) at com.linkedin.kafka.cruisecontrol.servlet.KafkaCruiseControlServlet.doGetOrPost(KafkaCruiseControlServlet.java:126) at com.linkedin.kafka.cruisecontrol.servlet.KafkaCruiseControlServlet.doPost(KafkaCruiseControlServlet.java:105) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) 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:1435) 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:1350) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 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.QueuedThreadPool.runJob(QueuedThreadPool.java:882) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036) at java.lang.Thread.run(Thread.java:748) ", "version": 1 }

3:I try to modify the code as below ,use getInputStream() instead of getReader() . the problem resolved.
private static Map<Short, Pattern> topicPatternByReplicationFactorFromBody(HttpServletRequest request) { Map<Short, Pattern> topicPatternByReplicationFactor; try { Gson gson = new Gson(); Map<String, Object> json = gson.fromJson(new BufferedReader(new InputStreamReader(request.getInputStream())), Map.class); ..... }

@efeg
Copy link
Collaborator

efeg commented May 28, 2021

@ruanliang-hualun
Can you please post the stack trace and parameters you used for the request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants