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

Intermittent: C4Replicator not finished but replicator status changed to idle

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.8.0
    • 2.8.0
    • LiteCore
    • Security Level: Public
    • None

    Description

      • Passive replicator(` {repl#26}`) created internal C4replicator(`{C4Replicator#27}`).
      • Even without finishing the replication, at progress(`progress=18.64%`), replicator(`{repl#26}`) turns status to idle?
      • C4Replicator is not completely removed.

      Expected behavior:

      • Replicator should not change status to idle, till progress is 100%

      Steps:
      1. Create listener
      2. Create two replicators
      3. Sync blob from two replicators to the listener and a simple doc from listener to replicators.
      4. Intermittent failure

      ~/Documents/cbl/couchbase-lite-ios-ee/couchbase-lite-ios 10:30:19 $ grep "{C4Replicator#27}\|{repl#26}" ~/Desktop/c4replicator-not-complete.txt
      2020-06-01 10:17:59.398136-0700 xctest[61989:1916052] CouchbaseLite Replicator Info: {repl#26}==> litecore::repl::Replicator /var/folders/gk/xfc67g4s27v6jrn_5tjhg0y80000gp/T/CouchbaseLite_EE/otherdb.cblite2/ <-x-incoming-ws://127.0.0.1:54666 @0x6190003d7cb0
      2020-06-01 10:17:59.398648-0700 xctest[61989:1916052] CouchbaseLite Replicator Info: {repl#26} Push=passive, Pull=passive, Options={{noDeltas:true}}
      2020-06-01 10:17:59.399471-0700 xctest[61989:1916052] CouchbaseLite Replicator Info: {C4Replicator#27}==> c4Internal::C4IncomingReplicator 0x6120001b04d0 @0x6120001b04d0
      2020-06-01 10:17:59.399565-0700 xctest[61989:1916052] CouchbaseLite Replicator Verbose: {C4Replicator#27} C4IncomingRepl 0x6120001b04d0 created Repl 0x6190003d7cb0
      2020-06-01 10:17:59.400071-0700 xctest[61989:1916052] CouchbaseLite Replicator Info: {C4Replicator#27} Starting Replicator {repl#26}
      2020-06-01 10:17:59.400990-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {repl#26} activityLevel=connecting: connectionState=1
      2020-06-01 10:17:59.402489-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {repl#26} Connected!
      2020-06-01 10:17:59.402669-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {repl#26} activityLevel=busy: connectionState=2
      2020-06-01 10:17:59.402761-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {repl#26} now busy
      //.... 
      //.... 
      2020-06-01 10:17:59.766651-0700 xctest[61989:1916020] CouchbaseLite Replicator Info: {repl#26} activityLevel=busy: connectionState=2
      2020-06-01 10:17:59.805617-0700 xctest[61989:1915999] CouchbaseLite Replicator Info: {C4Replicator#27} State: busy, progress=18.64%
      2020-06-01 10:17:59.806059-0700 xctest[61989:1915999] CouchbaseLite Replicator Info: {repl#26} activityLevel=idle: connectionState=2
      2020-06-01 10:17:59.806160-0700 xctest[61989:1915999] CouchbaseLite Replicator Info: {repl#26} now idle
      2020-06-01 10:17:59.806585-0700 xctest[61989:1915999] CouchbaseLite Replicator Info: {C4Replicator#27} State: idle, progress=18.64%
      2020-06-01 10:17:59.816052-0700 xctest[61989:1915999] CouchbaseLite Replicator Info: {repl#26} Request to set peer checkpoint 'cp-GV3HgsGLkzG0KLXYszGPMgdXnp0='
      2020-06-01 10:17:59.817067-0700 xctest[61989:1915999] CouchbaseLite Replicator Info: {repl#26} activityLevel=idle: connectionState=2
      2020-06-01 10:17:59.836842-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {repl#26} Connection closed with WebSocket/HTTP status 1000: "" (state=2)
      2020-06-01 10:17:59.837042-0700 xctest[61989:1916001] CouchbaseLite Replicator Debug: {repl#26} connectionClosed
      2020-06-01 10:17:59.837650-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {repl#26} activityLevel=stopped: connectionState=0
      2020-06-01 10:17:59.837729-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {repl#26} now stopped
      2020-06-01 10:17:59.841853-0700 xctest[61989:1916001] CouchbaseLite Replicator Info: {C4Replicator#27} State: stopped, progress=18.64%
      2020-06-01 10:17:59.841953-0700 xctest[61989:1916001] CouchbaseLite Replicator Debug: {repl#26} destructing (0x6190003d7c80); actorName='Repl<-x-incoming-ws://127.0.0.1:54666'
          * {C4Replicator#27}, a c4Internal::C4IncomingReplicator (refCount=1) at 0x6120001b04c0
      

      Unit test:
      https://github.com/couchbase/couchbase-lite-ios/pull/2658

      PR include the test: `testMultipleReplicatorsToListener`

      Attachments

        Issue Links

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

          Activity

            Build couchbase-lite-net-2.8.0-129 contains couchbase-lite-net commit 6bbc57d with commit message:
            Update LiteCore (CBL-1033: c4::ref move assignment operator must release existing object)

            build-team Couchbase Build Team added a comment - Build couchbase-lite-net-2.8.0-129 contains couchbase-lite-net commit 6bbc57d with commit message: Update LiteCore ( CBL-1033 : c4::ref move assignment operator must release existing object)

            Build couchbase-lite-cblite-2.8.0-108 contains couchbase-lite-core commit 64c2031 with commit message:
            CBL-1033: c4::ref move assignment operator must release existing object (#1055)

            build-team Couchbase Build Team added a comment - Build couchbase-lite-cblite-2.8.0-108 contains couchbase-lite-core commit 64c2031 with commit message: CBL-1033 : c4::ref move assignment operator must release existing object (#1055)

            Build couchbase-lite-java-2.8.0-250 contains couchbase-lite-core commit 64c2031 with commit message:
            CBL-1033: c4::ref move assignment operator must release existing object (#1055)

            build-team Couchbase Build Team added a comment - Build couchbase-lite-java-2.8.0-250 contains couchbase-lite-core commit 64c2031 with commit message: CBL-1033 : c4::ref move assignment operator must release existing object (#1055)

            Build couchbase-lite-android-2.8.0-268 contains couchbase-lite-core commit 64c2031 with commit message:
            CBL-1033: c4::ref move assignment operator must release existing object (#1055)

            build-team Couchbase Build Team added a comment - Build couchbase-lite-android-2.8.0-268 contains couchbase-lite-core commit 64c2031 with commit message: CBL-1033 : c4::ref move assignment operator must release existing object (#1055)

            Build couchbase-lite-ios-2.8.0-138 contains couchbase-lite-core commit 64c2031 with commit message:
            CBL-1033: c4::ref move assignment operator must release existing object (#1055)

            build-team Couchbase Build Team added a comment - Build couchbase-lite-ios-2.8.0-138 contains couchbase-lite-core commit 64c2031 with commit message: CBL-1033 : c4::ref move assignment operator must release existing object (#1055)

            People

              jimb Jim Borden
              Jayahari.Vavachan Jay Vavachan
              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