Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-8712

"Failed to send ping" errors with openshift client watch on a far away openshift cluster

    Details

    • Type: Bug
    • Status: Release Backlog
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: FIS 2.0
    • Fix Version/s: fuse-7.x-planning
    • Component/s: FIS-Fabric8
    • Labels:
      None
    • Environment:

      FIS 2.0 ER1 / TP, fabric8-maven-plugin:3.1.80.redhat-000004

      Description

      The following errors appear sometimes when using openshift client Watch to watch logs when connected to a remote openshift cluster (with about 500ms latency)

      e.g. the following errors appear in the logs with fabric8 maven plugin during fabric8:build deploying to a remote openshift cluster:

      [ERROR] Exec Failure
      java.net.SocketTimeoutException: timeout
      	at okio.Okio$3.newTimeoutException(Okio.java:210)
      	at okio.AsyncTimeout.exit(AsyncTimeout.java:288)
      	at okio.AsyncTimeout$2.read(AsyncTimeout.java:242)
      	at okio.RealBufferedSource.request(RealBufferedSource.java:66)
      	at okio.RealBufferedSource.require(RealBufferedSource.java:59)
      	at okio.RealBufferedSource.readByte(RealBufferedSource.java:72)
      	at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.java:115)
      	at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:104)
      	at okhttp3.internal.ws.RealWebSocket.readMessage(RealWebSocket.java:97)
      	at okhttp3.ws.WebSocketCall.createWebSocket(WebSocketCall.java:152)
      	at okhttp3.ws.WebSocketCall.access$000(WebSocketCall.java:41)
      	at okhttp3.ws.WebSocketCall$1.onResponse(WebSocketCall.java:97)
      	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:126)
      	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
      	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)
      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:170)
      	at java.net.SocketInputStream.read(SocketInputStream.java:141)
      	at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
      	at sun.security.ssl.InputRecord.read(InputRecord.java:503)
      	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
      	at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
      	at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
      	at okio.Okio$2.read(Okio.java:138)
      	at okio.AsyncTimeout$2.read(AsyncTimeout.java:238)
      	... 14 more
      [ERROR] Failed to send ping
      java.net.SocketException: Socket is closed
      	at sun.security.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1532)
      	at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1553)
      	at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:71)
      	at okio.Okio$1.write(Okio.java:78)
      	at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
      	at okio.RealBufferedSink.emit(RealBufferedSink.java:178)
      	at okhttp3.internal.ws.WebSocketWriter.writeControlFrameSynchronized(WebSocketWriter.java:152)
      	at okhttp3.internal.ws.WebSocketWriter.writePing(WebSocketWriter.java:79)
      	at okhttp3.internal.ws.RealWebSocket.sendPing(RealWebSocket.java:143)
      	at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1$1.run(WatchConnectionManager.java:141)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	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)
      java.io.InterruptedIOException: thread interrupted
      	at okio.Timeout.throwIfReached(Timeout.java:146)
      	at okio.Okio$1.write(Okio.java:75)
      	at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
      	at okio.RealBufferedSink.emit(RealBufferedSink.java:178)
      	at okhttp3.internal.ws.WebSocketWriter.writeControlFrameSynchronized(WebSocketWriter.java:152)
      	at okhttp3.internal.ws.WebSocketWriter.writeClose(WebSocketWriter.java:111)
      	at okhttp3.internal.ws.RealWebSocket.close(RealWebSocket.java:168)
      	at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1.onClose(WatchConnectionManager.java:256)
      	at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1$1.run(WatchConnectionManager.java:144)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	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)
      [INFO] F8: 
      [ERROR] Exec Failure
      java.net.SocketTimeoutException: timeout
      	at okio.Okio$3.newTimeoutException(Okio.java:210)
      	at okio.AsyncTimeout.exit(AsyncTimeout.java:288)
      	at okio.AsyncTimeout$2.read(AsyncTimeout.java:242)
      	at okio.RealBufferedSource.request(RealBufferedSource.java:66)
      	at okio.RealBufferedSource.require(RealBufferedSource.java:59)
      	at okio.RealBufferedSource.readByte(RealBufferedSource.java:72)
      	at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.java:115)
      	at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:104)
      	at okhttp3.internal.ws.RealWebSocket.readMessage(RealWebSocket.java:97)
      	at okhttp3.ws.WebSocketCall.createWebSocket(WebSocketCall.java:152)
      	at okhttp3.ws.WebSocketCall.access$000(WebSocketCall.java:41)
      	at okhttp3.ws.WebSocketCall$1.onResponse(WebSocketCall.java:97)
      	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:126)
      	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
      	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)
      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:170)
      	at java.net.SocketInputStream.read(SocketInputStream.java:141)
      	at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
      	at sun.security.ssl.InputRecord.read(InputRecord.java:503)
      	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
      	at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
      	at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
      	at okio.Okio$2.read(Okio.java:138)
      	at okio.AsyncTimeout$2.read(AsyncTimeout.java:238)
      	... 14 more
      [INFO] F8: 
      [INFO] F8: Pushing image 172.30.70.77:5000/maschmid/karaf2-camel-amq-archetype:latest ...
      [ERROR] Failed to send ping
      java.net.SocketException: Socket is closed
      	at sun.security.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1532)
      	at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1553)
      	at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:71)
      	at okio.Okio$1.write(Okio.java:78)
      	at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
      	at okio.RealBufferedSink.emit(RealBufferedSink.java:178)
      	at okhttp3.internal.ws.WebSocketWriter.writeControlFrameSynchronized(WebSocketWriter.java:152)
      	at okhttp3.internal.ws.WebSocketWriter.writePing(WebSocketWriter.java:79)
      	at okhttp3.internal.ws.RealWebSocket.sendPing(RealWebSocket.java:143)
      	at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1$1.run(WatchConnectionManager.java:141)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	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)
      java.io.InterruptedIOException: thread interrupted
      	at okio.Timeout.throwIfReached(Timeout.java:146)
      	at okio.Okio$1.write(Okio.java:75)
      	at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
      	at okio.RealBufferedSink.emit(RealBufferedSink.java:178)
      	at okhttp3.internal.ws.WebSocketWriter.writeControlFrameSynchronized(WebSocketWriter.java:152)
      	at okhttp3.internal.ws.WebSocketWriter.writeClose(WebSocketWriter.java:111)
      	at okhttp3.internal.ws.RealWebSocket.close(RealWebSocket.java:168)
      	at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1.onClose(WatchConnectionManager.java:256)
      	at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1$1.run(WatchConnectionManager.java:144)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	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)
      
      

      The problem seems to only affect the log watch, build completed successfully

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  maschmid Marek Schmidt
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated: