Bo Li created SCB-80:
------------------------

             Summary: ResponseEntity Type error occurs 
                 Key: SCB-80
                 URL: https://issues.apache.org/jira/browse/SCB-80
             Project: Apache ServiceComb
          Issue Type: Bug
          Components: Java-Chassis
            Reporter: Bo Li


Given:
* tomcat 8.5.x
* java-chassis 0.4.0
* service-center 1.0.1

if header and body included in responseEntity, error 1 and error 2 occurs, if 
not, only error 2 occurs.

error 1:
{code}
[2017-11-22 
16:36:39.101][ufm][][ERROR][io.servicecomb.common.rest.AbstractRestInvocation][sendResponseQuietly,131][Failed
 to send rest response, 
operation:ufm.api-v2-accounts.setWatermark.][pool-30-thread-3]
java.lang.NullPointerException: null
        at 
org.apache.coyote.http11.Http11OutputBuffer.commit(Http11OutputBuffer.java:368)
        at 
org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1300)
        at 
org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:254)
        at org.apache.coyote.Response.action(Response.java:174)
        at org.apache.coyote.Response.sendHeaders(Response.java:356)
        at 
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:303)
        at 
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:284)
        at org.apache.catalina.connector.Response.flushBuffer(Response.java:541)
        at 
org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:312)
        at 
javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)
        at 
io.servicecomb.foundation.vertx.http.StandardHttpServletResponseEx.flushBuffer(StandardHttpServletResponseEx.java:80)
        at 
io.servicecomb.common.rest.AbstractRestInvocation.sendResponse(AbstractRestInvocation.java:164)
        at 
io.servicecomb.common.rest.AbstractRestInvocation.sendResponseQuietly(AbstractRestInvocation.java:129)
        at 
io.servicecomb.common.rest.RestProducerInvocation.lambda$doInvoke$1(RestProducerInvocation.java:121)
        at 
io.servicecomb.core.handler.ShutdownHookHandler.lambda$handle$0(ShutdownHookHandler.java:70)
        at 
io.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:113)
        at 
io.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:38)
        at io.servicecomb.core.Invocation.next(Invocation.java:132)
        at 
io.servicecomb.core.handler.ShutdownHookHandler.handle(ShutdownHookHandler.java:68)
        at io.servicecomb.core.Invocation.next(Invocation.java:132)
        at 
io.servicecomb.common.rest.RestProducerInvocation.doInvoke(RestProducerInvocation.java:120)
        at 
io.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:93)
        at 
io.servicecomb.common.rest.RestProducerInvocation.runOnExecutor(RestProducerInvocation.java:94)
        at 
io.servicecomb.common.rest.RestProducerInvocation.lambda$scheduleInvocation$0(RestProducerInvocation.java:80)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{code}

error 2
{code}
[2017-11-22 
16:36:39.105][ufm][][ERROR][io.servicecomb.common.rest.AbstractRestInvocation][invoke,95][unknown
 edge exception.][pool-30-thread-3]
java.lang.IllegalStateException: It is illegal to call this method if the 
current request is not in asynchronous mode (i.e. isAsyncStarted() returns 
false)
        at 
org.apache.catalina.connector.Request.getAsyncContext(Request.java:1742)
        at 
org.apache.catalina.connector.RequestFacade.getAsyncContext(RequestFacade.java:1056)
        at 
javax.servlet.ServletRequestWrapper.getAsyncContext(ServletRequestWrapper.java:431)
        at 
io.servicecomb.common.rest.AbstractRestInvocation.sendResponseQuietly(AbstractRestInvocation.java:135)
        at 
io.servicecomb.common.rest.RestProducerInvocation.lambda$doInvoke$1(RestProducerInvocation.java:121)
        at 
io.servicecomb.core.handler.ShutdownHookHandler.lambda$handle$0(ShutdownHookHandler.java:70)
        at 
io.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:113)
        at 
io.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:38)
        at io.servicecomb.core.Invocation.next(Invocation.java:132)
        at 
io.servicecomb.core.handler.ShutdownHookHandler.handle(ShutdownHookHandler.java:68)
        at io.servicecomb.core.Invocation.next(Invocation.java:132)
        at 
io.servicecomb.common.rest.RestProducerInvocation.doInvoke(RestProducerInvocation.java:120)
        at 
io.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:93)
        at 
io.servicecomb.common.rest.RestProducerInvocation.runOnExecutor(RestProducerInvocation.java:94)
        at 
io.servicecomb.common.rest.RestProducerInvocation.lambda$scheduleInvocation$0(RestProducerInvocation.java:80)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to