jiangqiushi opened a new issue #1749:
URL: https://github.com/apache/servicecomb-java-chassis/issues/1749


   还未写数据,链路异常。
   ```xml
           PipedInputStream in = new PipedInputStream();
           PipedOutputStream out = new PipedOutputStream(in);
   
           // 启动线程,异步线程outputStream写数据
           TTSTask serviceImpl = new TTSTask(ttsParam, out, paramMap, in);
           ThreadPoolUtil.getPool().submit(serviceImpl);
   
           HttpHeaders responseHeaders = new HttpHeaders();
           responseHeaders.set("Content-Type", "application/octet-stream");
           return ResponseEntity.ok().headers(responseHeaders).body(in);
   ```
   服务端配置
   ```xml
   rest:
       address: 10.33.106.233:18083?sslEnabled=false
       server:
         verticle-count: 32
         connection:
           idleTimeoutInSeconds: 60
   ```
   ```xml
   2020-05-14 17:15:17.433 | ERROR | [vert.x-eventloop-thread-10] | 
[AbstractRestInvocation] | Failed to execute HttpServerFilters, 
operation:tts_service.ttsservice.processTTS, request uri:/v1/tts/text2audio
   java.util.concurrent.CompletionException: io.vertx.core.VertxException: 
Connection was closed
           at 
java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326) 
~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338)
 ~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:911) 
~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:899)
 ~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) 
~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
 ~[?:1.8.0_191]
           at 
org.apache.servicecomb.foundation.vertx.stream.InputStreamToReadStream.handleException(InputStreamToReadStream.java:135)
 ~[foundation-vertx-1.3.0.jar:1.3.0]
           at 
org.apache.servicecomb.foundation.vertx.stream.PumpCommon.lambda$pump$0(PumpCommon.java:51)
 ~[foundation-vertx-1.3.0.jar:1.3.0]
           at 
io.vertx.core.http.impl.HttpServerResponseImpl.handleClosed(HttpServerResponseImpl.java:561)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.HttpServerResponseImpl.handleException(HttpServerResponseImpl.java:535)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.HttpServerRequestImpl.handleException(HttpServerRequestImpl.java:569)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.Http1xServerConnection.handleClosed(Http1xServerConnection.java:471)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.net.impl.VertxHandler.lambda$channelInactive$5(VertxHandler.java:164)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:320) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:188) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:180) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.net.impl.VertxHandler.channelInactive(VertxHandler.java:164) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:277)
 [netty-handler-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:390)
 [netty-codec-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:355)
 [netty-codec-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1429)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:947)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:822) 
[netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:466) 
[netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
   Caused by: io.vertx.core.VertxException: Connection was closed
   2020-05-14 17:15:17.434 | ERROR | [vert.x-eventloop-thread-10] | 
[AbstractRestInvocation] | Failed to flush rest response, 
operation:tts_service.ttsservice.processTTS, request uri:/v1/tts/text2audio
   java.lang.IllegalStateException: Response is closed
           at 
io.vertx.core.http.impl.HttpServerResponseImpl.checkValid(HttpServerResponseImpl.java:576)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:324)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:367)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
org.apache.servicecomb.foundation.vertx.http.VertxServerResponseToHttpServletResponse.internalFlushBuffer(VertxServerResponseToHttpServletResponse.java:118)
 ~[foundation-vertx-1.3.0.jar:1.3.0]
           at 
org.apache.servicecomb.foundation.vertx.http.VertxServerResponseToHttpServletResponse.flushBuffer(VertxServerResponseToHttpServletResponse.java:107)
 ~[foundation-vertx-1.3.0.jar:1.3.0]
           at 
org.apache.servicecomb.common.rest.AbstractRestInvocation.onExecuteHttpServerFiltersFinish(AbstractRestInvocation.java:306)
 ~[common-rest-1.3.0.jar:1.3.0]
           at 
org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$executeHttpServerFilters$3(AbstractRestInvocation.java:295)
 ~[common-rest-1.3.0.jar:1.3.0]
           at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
 ~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
 ~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) 
~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
 ~[?:1.8.0_191]
           at 
org.apache.servicecomb.common.rest.filter.HttpServerFilterBeforeSendResponseExecutor.lambda$doRun$0(HttpServerFilterBeforeSendResponseExecutor.java:81)
 ~[common-rest-1.3.0.jar:1.3.0]
           at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
 ~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
 ~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) 
~[?:1.8.0_191]
           at 
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
 ~[?:1.8.0_191]
           at 
org.apache.servicecomb.foundation.vertx.stream.InputStreamToReadStream.handleException(InputStreamToReadStream.java:135)
 ~[foundation-vertx-1.3.0.jar:1.3.0]
           at 
org.apache.servicecomb.foundation.vertx.stream.PumpCommon.lambda$pump$0(PumpCommon.java:51)
 ~[foundation-vertx-1.3.0.jar:1.3.0]
           at 
io.vertx.core.http.impl.HttpServerResponseImpl.handleClosed(HttpServerResponseImpl.java:561)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.HttpServerResponseImpl.handleException(HttpServerResponseImpl.java:535)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.HttpServerRequestImpl.handleException(HttpServerRequestImpl.java:569)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.http.impl.Http1xServerConnection.handleClosed(Http1xServerConnection.java:471)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.net.impl.VertxHandler.lambda$channelInactive$5(VertxHandler.java:164)
 ~[vertx-core-3.6.3.jar:3.6.3]
           at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:320) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:188) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:180) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.vertx.core.net.impl.VertxHandler.channelInactive(VertxHandler.java:164) 
[vertx-core-3.6.3.jar:3.6.3]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:277)
 [netty-handler-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:390)
 [netty-codec-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:355)
 [netty-codec-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1429)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:947)
 [netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:822) 
[netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:466) 
[netty-transport-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [netty-common-4.1.31.Final.jar:4.1.31.Final]
           at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
   2020-05-14 17:15:17.434 | WARN  | [vert.x-eventloop-thread-10] | 
[HttpStatusItem] | Response is closed before sending any data. Please check 
idle connection timeout for provider is properly configured.
   ```


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