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

Not getting right number of revisions on SGW while using multiple SGWS

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Won't Fix
    • 2.7.0
    • 2.7.0
    • LiteCore
    • Security Level: Public
    • None
    • Hide
      Mandatory:
       - CBL / SG Version:
         - SG Config:
       - Steps to Reproduce:
       - Actual Result:
       - Expected Result:
       - Logs :
            SGW LOGS: sgcollect info
            CBL LOGS:
            Logcat LOGS: for Android tickets
       - Github link for the code:
       - Jenkins job failure link:
       - Pytest Command
       - What is the last build this test passed:
      Show
      Mandatory:  - CBL / SG Version:    - SG Config:  - Steps to Reproduce:  - Actual Result:  - Expected Result:  - Logs :       SGW LOGS: sgcollect info       CBL LOGS:       Logcat LOGS: for Android tickets  - Github link for the code:  - Jenkins job failure link:  - Pytest Command  - What is the last build this test passed:
    • CBL Sprint 5, CBL Sprint 6
    • 8

    Description

      CBL:  2.7.0-30 - all mercury builds

      Steps to Reproduce:
      1. Create 2 DBs in 2 SGS and Create docs in CBL
      2. Set up 1 SG with revs limit 30 and SG2 with revs limit 25.
      3. Do push replication to two SGS(each DB
      to each SG).
      4. Do updates on CBL for 35 times.
      5. Continue push replication to SGs
      6. Verify that revs maintained on two SGS according to revs_limit.

      • Actual Result:

      Revision limit shows the range of 20 to 30 on first DB of SGW. Most of the time revisions are not maintained until 30 , but I see rev generation is 36 on SGW which shows all 35 updates are pushed to SGW.

      All the updates which are updated on CBL are pushed to SGW successfully , just that revisions are not maintained

      • Expected Result:

      All 30 revisions should exists in SGW as revision limit for DB1 is 30 

      CBL LOGS: https://gist.github.com/sridevi-15/057643a525ad1b0dc0406e83213540b7
      Github link for the code:

           https://gist.github.com/sridevi-15/057643a525ad1b0dc0406e83213540b7
      Jenkins job failure link:

      http://uberjenkins.sc.couchbase.com:8080/job/CBLITE_iOS-Listener-TestServer-Topology-specific-tests/898/testReport/testsuites.CBLTester.topology_specific_tests.multiple_sync_gateways/test_replication_multiple_sgs/test_multiple_sgs_with_differrent_revs_limit_listener_tests_multiple_sync_gateways_100_/
      Pytest Command
      pytest --timeout 1800 --liteserv-version=2.7.0-30 --liteserv-host=10.100.172.194 --liteserv-port=8080 --no-conflicts --device --enable-file-logging --delta-sync --sync-gateway-version=2.7.0-24 --mode=cc --server-version=6.5.0-3939 --liteserv-platform=ios --create-db-per-test=cbl-test testsuites/CBLTester/topology_specific_tests/multiple_sync_gateways -k test_multiple_sgs_with_differrent_revs_limit[listener_tests/multiple_sync_gateways-100]

      What is the last build this test passed: Cobalt release builds of CBL

      Failing only in mercury builds

      I tested with SGW cobalt and release builds and it is still failing. 

      Happening on all 3 platforms : iOS, Android, .Net

      We have tests with number of docs 10, 100, 1000.

      Couple of time, number of docs with 10 fail, but most of the time in Mercury is getting failed with number of docs 10, 100, 1000

       

       

      Attachments

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

        Activity

          sridevi.saragadam Sridevi Saragadam (Inactive) created issue -
          sridevi.saragadam Sridevi Saragadam (Inactive) made changes -
          Field Original Value New Value
          CVSS/Severity High [ 11153 ]
          sridevi.saragadam Sridevi Saragadam (Inactive) made changes -
          Security Private [ 10332 ] Public [ 10333 ]
          daniel.petersen Daniel Petersen made changes -
          Fix Version/s Mercury [ 16188 ]
          daniel.petersen Daniel Petersen made changes -
          Priority Major [ 3 ] Critical [ 2 ]
          daniel.petersen Daniel Petersen made changes -
          Story Points 8
          daniel.petersen Daniel Petersen made changes -
          Rank Ranked higher
          daniel.petersen Daniel Petersen made changes -
          Assignee The Lite [ cbgto ] Jim Borden [ jimb ]
          daniel.petersen Daniel Petersen made changes -
          Sprint CBL Sprint 5 [ 906 ]
          daniel.petersen Daniel Petersen made changes -
          Rank Ranked lower
          jimb Jim Borden made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          jimb Jim Borden added a comment -

          This is due to an optimization Jens Alfke made in order to not send more revisions than are needed.  In this case, since there are 35 updates to send on a brand new document it will only send the maximum amount that it is configured to send (20). 

          jimb Jim Borden added a comment - This is due to an optimization Jens Alfke made in order to not send more revisions than are needed.  In this case, since there are 35 updates to send on a brand new document it will only send the maximum amount that it is configured to send (20). 
          jimb Jim Borden made changes -
          Assignee Jim Borden [ jimb ] Jens Alfke [ jens ]
          jimb Jim Borden added a comment -

          Assigning to Jens for input on whether we should restore this behavior in a limited way (probably not?) or to change the test to use lower values for revs_limit

          jimb Jim Borden added a comment - Assigning to Jens for input on whether we should restore this behavior in a limited way (probably not?) or to change the test to use lower values for revs_limit
          jimb Jim Borden made changes -
          Status In Progress [ 3 ] In Review [ 10107 ]
          daniel.petersen Daniel Petersen made changes -
          Sprint CBL Sprint 5 [ 906 ] CBL Sprint 5, CBL Sprint 6 [ 906, 915 ]
          jens Jens Alfke added a comment -

          What Jim said: If it's a new document, CBL won't keep more revision history than its own revs_limit, which is 20. So the new behavior is correct.

          jens Jens Alfke added a comment - What Jim said: If it's a new document, CBL won't keep more revision history than its own revs_limit, which is 20. So the new behavior is correct.
          jimb Jim Borden added a comment -

          Sridevi Saragadam Since the functional test makes everything so quickly it all goes up at once, and the old behavior was incorrect.  The easiest change to the test is to change the revs_limit on the two SG to 15 and 20 instead of 25 and 30.  The number of updates locally can remain as 35 if desired or change to a lower number as well (as long as it is higher than 20).  I will close this ticket.

          jimb Jim Borden added a comment - Sridevi Saragadam Since the functional test makes everything so quickly it all goes up at once, and the old behavior was incorrect.  The easiest change to the test is to change the revs_limit on the two SG to 15 and 20 instead of 25 and 30.  The number of updates locally can remain as 35 if desired or change to a lower number as well (as long as it is higher than 20).  I will close this ticket.
          jimb Jim Borden made changes -
          Status In Review [ 10107 ] In Progress [ 3 ]
          jimb Jim Borden made changes -
          Resolution Won't Fix [ 2 ]
          Status In Progress [ 3 ] Resolved [ 5 ]
          jimb Jim Borden made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

          okay, will change the test according to new behavior then

          sridevi.saragadam Sridevi Saragadam (Inactive) added a comment - okay, will change the test according to new behavior then

          People

            jens Jens Alfke
            sridevi.saragadam Sridevi Saragadam (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty