Uploaded image for project: 'Couchbase Lite'
  1. Couchbase Lite
  2. CBL-2998

Replicator stopped with WebSocket 1008 / SocketTimeoutException when disable WiFi: Backport to 3.0.2

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.0.2
    • 3.0
    • Java-Android
    • Security Level: Public
    • None
    • 2

    Description

      Steps:

      1. Create a continuous Push-Pull Replicator with the heartbeat set to 10 seconds. The replicator will connect to a local SG using the machine IP Address.

      2. Start the replicator and wait until the replicator is idle.

      3. Turn off WiFi on the machine (Mac)

      4. Wait until heartbeat is sent (About 10 Seconds).

      5. The replicator stops with "error=WebSocket error 1008, "java.net.SocketTimeoutException: sent ping but didn't receive pong within 10000ms (after 0 successful ping/pongs)".

      Env:
      1. Android Emulator (I used Pixel 3a, API 32 arm64-v8a) running an Android App
      2. SG 3.0 running on local mac (Use Mac's IP Address (not loopback or localhost) such as ws://192.168.86.122:4984/db

      See the attached logcat.txt for more detail.

      I expect that the timeout error is a transient error instead of a permanent error. I have checked with 2.8.6, and the behavior is similar but with an Unexpected Exception Error instead. I haven't checked the behavior on the other platforms.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              blake.meike Blake Meike
              blake.meike Blake Meike
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty