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

cbbackup/cbrestore from 181 to latest 2.0 build, or 181 to 181, with wrong CAS and item_flag value restored.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: 2.0-beta
    • Component/s: tools
    • Security Level: Public
    • Labels:
      None
    • Environment:
      centos5.6

      Description

      I insert 1000 items to a 181 cluster, do cbbackup and cbrestore them to another 181 cluster using latest membase-cli code. The items in the other 181 cluster are with wrong flag and cas value. The return value for get is (Flag, CAS, item_value)

      import sys
      sys.path.append(".")
      sys.path.append("lib")
      import mc_bin_client
      client = mc_bin_client.MemcachedClient('10.5.2.22', 11211) #source
      for i in range (1000):
      ... client.set("chisheng%d"%, 0, 100000+i, "hong")
      client1 = mc_bin_client.MemcachedClient('10.5.2.23', 11211) #destination
      client1.get("chisheng133")
      (629604608, 31, 'hong')
      client.get("chisheng133")
      (100133, 134, 'hong')

      Things doesn't work for backup from 181 and restore to 200 either:
      client = mc_bin_client.MemcachedClient('10.5.2.22', 11211)#source
      for i in range (1000):
      ... client.set("chisheng%d"%, 0, 100000+i, "hong")
      client1 = mc_bin_client.MemcachedClient('10.6.2.66', 11211)#destination
      client1.get("chisheng133")
      (629604608, 355638486346888, 'hong')
      client.get("chisheng133")
      (100133, 134, 'hong')

      But things are working when I do backup/restore from 200 to 200. (CAS, Flag, Value)
      client = mc_bin_client.MemcachedClient('10.5.2.22', 11211)#source
      for i in range (1000):
      ... client.set("chisheng%d"%, 0, 100000+i, "hong")
      client1 = mc_bin_client.MemcachedClient('10.5.2.23', 11211)#destination
      client.get("chisheng133")
      (100133, 13004603940813618, 'hong')
      client1.get("chisheng133")
      (100133, 13004603940813618, 'hong')

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

        Activity

        Hide
        steve Steve Yen added a comment -
        Show
        steve Steve Yen added a comment - http://review.couchbase.org/22428
        Hide
        Chisheng Chisheng Hong (Inactive) added a comment -

        Hi Steve, although it looks like you already spot where the problem is, I still want to provide the info about the test case you asked in your first comment.
        The command I use is through smart client:

        ./cbbackup http://10.5.2.22:8091 ~/backup
        ./cbrestore ~/backup/ http://10.6.2.66:8091

        The node 10.5.2.22 (181 node) store all those 1K items as the source. 10.5.2.23 is also a 181 node I try to restore to (181 to 181). You can also backup all the items from the source node and restore to any 2.0 cluster (181 to 200). I have a 20 node 10.3.3.13

        Show
        Chisheng Chisheng Hong (Inactive) added a comment - Hi Steve, although it looks like you already spot where the problem is, I still want to provide the info about the test case you asked in your first comment. The command I use is through smart client: ./cbbackup http://10.5.2.22:8091 ~/backup ./cbrestore ~/backup/ http://10.6.2.66:8091 The node 10.5.2.22 (181 node) store all those 1K items as the source. 10.5.2.23 is also a 181 node I try to restore to (181 to 181). You can also backup all the items from the source node and restore to any 2.0 cluster (181 to 200). I have a 20 node 10.3.3.13
        Hide
        Chisheng Chisheng Hong (Inactive) added a comment -

        Same thing happened if I use moxi for restore to 2.0 from 1.8.1:

        ./cbrestore ~/backup/ memcached://10.6.2.66:11211

        client1 = mc_bin_client.MemcachedClient('10.6.2.66', 11211) # destination
        client1.get("chisheng133")
        (629604608, 505727160359962, 'hong')

        client.get("chisheng133") #source
        (100133, 134, 'hong')

        Show
        Chisheng Chisheng Hong (Inactive) added a comment - Same thing happened if I use moxi for restore to 2.0 from 1.8.1: ./cbrestore ~/backup/ memcached://10.6.2.66:11211 client1 = mc_bin_client.MemcachedClient('10.6.2.66', 11211) # destination client1.get("chisheng133") (629604608, 505727160359962, 'hong') client.get("chisheng133") #source (100133, 134, 'hong')
        Hide
        Chisheng Chisheng Hong (Inactive) added a comment -

        I git clone the membase-cli code and do backup restore at my own laptop.

        Show
        Chisheng Chisheng Hong (Inactive) added a comment - I git clone the membase-cli code and do backup restore at my own laptop.
        Hide
        dipti Dipti Borkar added a comment -

        There will likely not be a 1.8.2, so we'll need to give this out as a hotfix to existing customers.

        Show
        dipti Dipti Borkar added a comment - There will likely not be a 1.8.2, so we'll need to give this out as a hotfix to existing customers.

          People

          • Assignee:
            steve Steve Yen
            Reporter:
            Chisheng Chisheng Hong (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