Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-7701

Implement optimization for improved XDCR lag latency

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0, 2.0.1
    • Fix Version/s: 2.1.0
    • Component/s: tools, XDCR
    • Security Level: Public
    • Labels:

      Description

      This improvement will add an option to optimistically send mutations to the destination without first doing a look-up to see if the mutation is needed on the other side. (without issuing a getwithmeta() ) . This aims to improve XDCR latency by removing the first metadata lookup. getwithmeta() can be a fairly expensive operation given that it may need a disk fetch.

      Users can turn on this optimization using a REST API. We can also have a setting on the UI. Based on performance tests and amount of additional bandwidth required, "latency-optimized XDCR" can be the default setting.

      New REST API will be added as an ns_server parameter. The UI group will work to expose this parameter as a selection "latency-optimized XDCR" or "bandwidth-optimized XDCR" to UI so users can choose appropriate mode when creating replication on UI.

      Today source need ask destination a question "do you really need this document" before indeed sending the doc, resulting in getMeta() op to remote cluster.

      Conflict resolution will still be performed on the destination node when the document arrives. There are a couple of downsides of this feature, if it is used incorrectly. For example it may waste some bandwidth/CPU cycles. You may send a big chunk of document to remote cluster even when it is not needed.

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

        Activity

        Hide
        dipti Dipti Borkar added a comment -

        Junyi,

        You may want to get a toy build going for this. If QE thinks its stable, may be we can try for 2.0.1?

        Show
        dipti Dipti Borkar added a comment - Junyi, You may want to get a toy build going for this. If QE thinks its stable, may be we can try for 2.0.1?
        Show
        junyi Junyi Xie (Inactive) added a comment - - edited http://review.couchbase.org/#/c/24524/
        Show
        junyi Junyi Xie (Inactive) added a comment - http://review.couchbase.org/#/c/24524/
        Hide
        maria Maria McDuff (Inactive) added a comment - - edited

        hi abhinav, pls verify the new rest api that enables optimization and confirm latency lag is reduced and improved.
        thanks.

        Show
        maria Maria McDuff (Inactive) added a comment - - edited hi abhinav, pls verify the new rest api that enables optimization and confirm latency lag is reduced and improved. thanks.
        Hide
        abhinav Abhinav Dangeti added a comment -

        Verified.

        Show
        abhinav Abhinav Dangeti added a comment - Verified.
        Hide
        perry Perry Krug added a comment -

        Is there a separate bug open for documentation and tooling on this?

        Show
        perry Perry Krug added a comment - Is there a separate bug open for documentation and tooling on this?
        Hide
        dipti Dipti Borkar added a comment -

        For docs yes. MB-7959

        For tools, we create separate bugs.
        Junyi, can you create a bug for Bin? couchbase-cli needs to add the new rest api as a cli command.

        Show
        dipti Dipti Borkar added a comment - For docs yes. MB-7959 For tools, we create separate bugs. Junyi, can you create a bug for Bin? couchbase-cli needs to add the new rest api as a cli command.
        Hide
        junyi Junyi Xie (Inactive) added a comment -

        Dipti,

        The new bug has been created

        http://www.couchbase.com/issues/browse/MB-8034

        Show
        junyi Junyi Xie (Inactive) added a comment - Dipti, The new bug has been created http://www.couchbase.com/issues/browse/MB-8034

          People

          • Assignee:
            abhinav Abhinav Dangeti
            Reporter:
            junyi Junyi Xie (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Gerrit Reviews

              There are no open Gerrit changes