Roman Guseinov created IGNITE-9956: -------------------------------------- Summary: Web Agent should handle EOFException in the process of node stopping Key: IGNITE-9956 URL: https://issues.apache.org/jira/browse/IGNITE-9956 Project: Ignite Issue Type: Bug Components: UI Reporter: Roman Guseinov
If web agent is connected to a node which starts stopping we will see the following message in the agent's logs: {code:java} [2018-10-03 12:19:32,672][ERROR][pool-3-thread-48][AbstractListener] Failed to execute REST command with parameters: {p1=6840C2E6-EE22-4F96-8BC3-35DFD60497CF, p2=org.gridgain.grid.internal.visor.node.VisorGridGainNodeConfigurationCollectorTask, p3=java.lang.Void, name=o.a.i.i.v.compute.VisorGatewayTask, cmd=exe} java.io.IOException: unexpected end of stream on Connection{datafabric-dev-22.test.com:8080, proxy=DIRECT hostAddress=datafabric-dev-22.test.com/10.54.1.21:8080 cipherSuite=none protocol=http/1.1} at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:205) at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:75) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185) at okhttp3.RealCall.execute(RealCall.java:69) at org.apache.ignite.console.agent.rest.RestExecutor.sendRequest(RestExecutor.java:169) at org.apache.ignite.console.agent.rest.RestExecutor.sendRequest(RestExecutor.java:184) at org.apache.ignite.console.agent.handlers.RestListener.execute(RestListener.java:85) at org.apache.ignite.console.agent.handlers.AbstractListener.lambda$call$0(AbstractListener.java:76) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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:748) Caused by: java.io.EOFException: \n not found: limit=0 content=… at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:226) at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:210) at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189) ... 24 more {code} It looks like node returns an empty response. Web agent should handle that, print a more understandable message and start trying to connect to other nodes immediately. -- This message was sent by Atlassian JIRA (v7.6.3#76005)