Migrate buckets from CB version 4.5 to CB 6.6

I am trying to migrate bucket data from CB version 4.5 to a cluster running CB 6.6 (both Community)
Tried using cbtransfer and keep getting this error:

2024-02-28 09:59:24,943: s0 error: CBSink.connect() for send: error: SASL auth exception: 10.66.61.135:11210, user: cali
2024-02-28 09:59:24,943: s0 error: async operation: error: SASL auth exception: 10.66.61.135:11210, user: cali on sink: http://10.66.62.135:8091(cali@10.64.61.152:8091)
error: SASL auth exception: 10.66.61.135:11210, user: cali

Yet the command I ran was explicity with a User
./cbtransfer http://10.66.61.135:8091 http://10.66.62.135:8091 -b cali -B cali -u Administrator -p XXXX

Any help would be appreciated!

Br
Giorgio

What documentation are you following?

SASL error leads me to think that it expects ssl - https:// protocol and 18901 port.

Thank you for the quick response!
I used the help from couchbase directly i.e:
[root@test1-dev bin]# ./cbtransfer
Usage: cbtransfer [options] source destination

Transfer couchbase cluster data from source to destination.

Examples:
cbtransfer http://SOURCE:8091 /backups/backup-42
cbtransfer /backups/backup-42 http://DEST:8091
cbtransfer /backups/backup-42 couchbase://DEST:8091
cbtransfer http://SOURCE:8091 http://DEST:8091
cbtransfer couchstore-files:///opt/couchbase/var/lib/couchbase/data/ /backup-XXX
cbtransfer couchstore-files:///opt/couchbase/var/lib/couchbase/data/ couchbase://DEST:8091

Then the other query would be: does cbtransfer work between 4.5 to 6.6?

Oh. SASL, not SSL. My mistake.

Check that Ithe password does not have special characters that are translated by the shell by executing ‘echo cbtransfer …’ the command should be echoed unchanged. If the shell translates the password, you’ll need to escape it with single quotes.

try running with the --verbose option - it might give more clues as to what is going on.

btw - cbserver is 6.6 end-of-life. If you need help from support, you’ll need to be on 7.x

It seems to be echoed unchanged.

also tried with the -v

./cbtransfer -vvv -b cali -u ‘Administrator’ -p ‘BLABLA’ http://10.66.62.135:8091 -B cali http://10.66.61.135:8091
2024-02-28 12:53:43,757: mt cbtransfer…
2024-02-28 12:53:43,758: mt source : http://10.66.62.135:8091
2024-02-28 12:53:43,758: mt sink : http://10.66.61.135:8091
2024-02-28 12:53:43,758: mt opts : {‘username’: ‘’, ‘destination_vbucket_state’: ‘active’, ‘verbose’: 3, ‘extra’: {‘max_retry’: 10.0, ‘rehash’: 0.0, ‘dcp_consumer_queue_length’: 1000.0, ‘data_only’: 0.0, ‘uncompress’: 0.0, ‘nmv_retry’: 1.0, ‘conflict_resolve’: 1.0, ‘cbb_max_mb’: 100000.0, ‘report’: 5.0, ‘mcd_compatible’: 1.0, ‘try_xwm’: 1.0, ‘backoff_cap’: 10.0, ‘batch_max_bytes’: 400000.0, ‘report_full’: 2000.0, ‘flow_control’: 1.0, ‘batch_max_size’: 1000.0, ‘seqno’: 0.0, ‘design_doc_only’: 0.0, ‘recv_min_bytes’: 4096.0}, ‘ssl’: False, ‘threads’: 4, ‘key’: None, ‘password’: ‘’, ‘id’: None, ‘destination_operation’: None, ‘source_vbucket_state’: ‘active’, ‘silent’: False, ‘dry_run’: False, ‘single_node’: False, ‘bucket_destination’: ‘cali’, ‘vbucket_list’: None, ‘bucket_source’: ‘cali’}
2024-02-28 12:53:43,758: mt source_class: <class ‘pump_dcp.DCPStreamSource’>
2024-02-28 12:53:43,758: mt rest_request: Administrator@10.66.62.135:8091/pools/default/buckets
2024-02-28 12:53:43,763: mt sink_class: <class ‘pump_cb.CBSink’>
2024-02-28 12:53:43,763: mt rest_request: Administrator@10.66.62.135:8091/pools/default/buckets
2024-02-28 12:53:43,769: mt source_bucket: cali
2024-02-28 12:53:43,769: mt sink_bucket: cali
2024-02-28 12:53:43,769: mt source_buckets: cali
2024-02-28 12:53:43,769: mt bucket_source: cali
2024-02-28 12:53:43,769: mt source_buckets filtered: cali
2024-02-28 12:53:43,769: mt bucket: cali
2024-02-28 12:53:43,769: mt source_nodes: 10.66.62.135:8091
2024-02-28 12:53:43,769: mt enqueueing node: 10.66.62.135:8091
2024-02-28 12:53:43,770: mt rest_request: Administrator@10.66.62.135:8091/pools/default/buckets/cali/stats/curr_items; reason: total_msgs
2024-02-28 12:53:43,770: w0 node: 10.66.62.135:8091
2024-02-28 12:53:43,770: w0 DCPStreamSource connecting mc: 10.66.62.135:11210
2024-02-28 12:53:43,776: mt rest_request: Administrator@10.66.62.135:8091/pools/default/buckets/cali/stats/vb_active_resident_items_ratio; reason: total_msgs
2024-02-28 12:53:43,808: Thread-1 Read 468 bytes off the wire
2024-02-28 12:53:43,809: Thread-1 Read 440 bytes off the wire
2024-02-28 12:53:43,809: Thread-1 Read 160 bytes off the wire
2024-02-28 12:53:43,809: Thread-1 Read 160 bytes off the wire
2024-02-28 12:53:43,809: Thread-1 Read 80 bytes off the wire

2024-02-28 12:53:43,855: Thread-1 Read 670 bytes off the wire
2024-02-28 12:53:43,859: w0 Send buffer size: 106556
2024-02-28 12:55:51,183: s0 error: CBSink.connect() for send: error: SASL auth exception: 10.64.71.153:11210, user: cali
2024-02-28 12:55:51,184: s0 error: async operation: error: SASL auth exception: 10.64.71.153:11210, user: cali on sink: http://10.66.62.135:8091(cali@10.66.62.135:8091)
2024-02-28 12:55:51,185: w0 pump (http://10.66.62.135:8091(cali@10.66.62.135:8091)->http://10.66.62.135:8091(cali@10.66.62.135:8091)) done.
2024-02-28 12:55:51,185: w0 source : http://10.66.62.135:8091(cali@10.66.62.135:8091)
2024-02-28 12:55:51,185: w0 sink : http://10.66.61.135:8091(cali@10.66.62.135:8091)
2024-02-28 12:55:51,185: w0 : total | last | per sec
2024-02-28 12:55:51,185: w0 node: 10.66.62.135:8091, done; rv: error: SASL auth exception: 10.66.62.135:11210, user: cali
error: SASL auth exception: 10.66.61.135:11210, user: cali

./cbtransfer http://10.66.61.135:8091http://10.66.62.135:8091 -b cali -B cali -u Administrator -p XXXX

You’re specifying username/password for the source, but none for the destination? (-U, -P)? I think that will work if the username/password are the same for both. If they are different, you’ll need to also use -U, -P. If you have an older version of cbtransfer that does not have the -U, -P options, the username/password can be specified in the URL like:

./cbtransfer http://Administrator:password@localhost:8091 http://Administrator:asdasd@10.141.95.102:8091 -b beer-sample -B default

Any idea where 10.64.71.153 comes from? Given that this is neither the source or the destination? It’s even different from the address shown in the error message in. your first post. Do either of your clusters have alternate addresses? You could try running SDK Doctor against the source and the sink cluster.

It also seems odd it is using the bucketname (cali) for the user. I think in the old days it was common to create a user with the same name as the bucket.

Are you using the cbtransfer from 4.5, 6.6 or something else?

The transfer is from 4.5 to 6.6

Since cbtransfer was problematic I did a cbbackup on the cluster running 4.5 and did a cbrestore on the cluster running 6.6.
./cbbackup -v http://localhost:8091 /tmp/backup-11
./cbrestore -vv /tmp/backup-11/ http://localhost:8091 -u Administrator -p asasas

1 Like