Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-9956

Web Agent should handle EOFException in the process of node stopping

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • UI
    • None

    Description

      If web agent is connected to a node which starts stopping we will see the following message in the agent's logs:

      [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
      

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            guseinov Roman Guseinov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: