- [ ] I have searched the 
[issues](https://github.com/apache/incubator-dubbo/issues) of this repository 
and believe that this is not a duplicate.
- [ ] I have checked the 
[FAQ](https://github.com/apache/incubator-dubbo/blob/master/FAQ.md) of this 
repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.5.8
* Operating System version: iwin10
* Java version: 1.8

### Step to reproduce this issue

1. Write a service to upload file, such as pdf document...
2. interface maybe like this:
    Result parseFile(String filename,InputStream inputStream);
3. Use a specified document test the interface.
> reproduce this issue maybe need a specified pdf document.

Pls. provide [GitHub address] to reproduce this issue.

### the content of pdf documents.

What do you expected from the above steps?

### null, and exceptions below.

What is actually happen?

 ### In fact, the first request throw a SocketTimeoutException, see below, but 
latter requests reponse correctly. So I guess that is because of initializaton 
probleam. _Then I find when I set timeout=2000 on \<dubbo:reference\>, 
everything works rightly._ It's very confusing to me. According to exceptions 
thrown by provider, that is, the consumer doesn't send input stream correcly, 
and it throws a timeout exception immediately, so provider cannot get input 
stream, it throws a org.apache.tika.exception.ZeroByteFileException. ###

If there is an exception, please attach the exception trace:

```
com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote service: interface 
com.netease.attachmentservice.service.AttachmentService, method: 
parseLimitAttachmentByStream, cause: 500: java.net.SocketTimeoutException: Read 
timed out
        at 
com.alibaba.dubbo.rpc.protocol.AbstractProxyProtocol.getRpcException(AbstractProxyProtocol.java:119)
        at 
com.alibaba.dubbo.rpc.protocol.AbstractProxyProtocol$2.doInvoke(AbstractProxyProtocol.java:99)
        at 
com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:142)
        at 
com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:74)
        at 
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:68)
        at 
com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53)
        at 
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:68)
        at 
com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:47)
        at 
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:68)
        at 
com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:73)
        at 
com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:52)
        at 
com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:77)
        at 
com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:232)
        at 
com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:70)
        at 
com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:51)
        at 
com.alibaba.dubbo.common.bytecode.proxy0.parseLimitAttachmentByStream(proxy0.java)
        at com.shian.pdfparse.Consumer.test(Consumer.java:76)
        at 
com.shian.pdfparse.ConsumerApplication.main(ConsumerApplication.java:28)
Caused by: com.caucho.hessian.client.HessianConnectionException: 500: 
java.net.SocketTimeoutException: Read timed out
        at 
com.caucho.hessian.client.HessianURLConnection.sendRequest(HessianURLConnection.java:145)
        at 
com.caucho.hessian.client.HessianProxy.sendRequest(HessianProxy.java:296)
        at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:171)
        at com.sun.proxy.$Proxy18.parseLimitAttachmentByStream(Unknown Source)
        at 
com.alibaba.dubbo.common.bytecode.Wrapper0.invokeMethod(Wrapper0.java)
        at 
com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:45)
        at 
com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:71)
        at 
com.alibaba.dubbo.rpc.protocol.AbstractProxyProtocol$2.doInvoke(AbstractProxyProtocol.java:94)
        ... 16 more
Caused by: java.net.SocketTimeoutException: Read timed out
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at 
sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1944)
        at 
sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1939)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1938)
        at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1508)
        at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at 
com.caucho.hessian.client.HessianURLConnection.sendRequest(HessianURLConnection.java:125)
        ... 23 more
Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
        at java.net.SocketInputStream.read(SocketInputStream.java:171)
        at java.net.SocketInputStream.read(SocketInputStream.java:141)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
        at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
        at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at 
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
        at 
com.caucho.hessian.client.HessianURLConnection.sendRequest(HessianURLConnection.java:112)
        ... 23 more
```


[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/2412 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to