Details
-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
6.6.5
-
Untriaged
-
Centos 64-bit
-
1
-
Unknown
Description
What's happening?
When attempting to access a node with enforced TLS, cbtransfer gives the following error:
Exception in thread w0:
|
Traceback (most recent call last):
|
File "/opt/couchbase/lib/python/runtime/lib/python3.7/threading.py", line 917, in _bootstrap_inner |
self.run()
|
File "/opt/couchbase/lib/python/runtime/lib/python3.7/threading.py", line 865, in run |
self._target(*self._args, **self._kwargs)
|
File "/opt/couchbase/lib/python/pump.py", line 446, in run_worker |
curx).run()
|
File "/opt/couchbase/lib/python/pump.py", line 504, in run |
rv_batch, batch = self.source.provide_batch()
|
File "/opt/couchbase/lib/python/pump_dcp.py", line 253, in provide_batch |
rv = self.get_dcp_conn()
|
File "/opt/couchbase/lib/python/pump_dcp.py", line 550, in get_dcp_conn |
self.opts.no_ssl_verify, self.opts.cacert)
|
File "/opt/couchbase/lib/python/pump.py", line 1199, in get_mcd_conn |
conn = cb_bin_client.MemcachedClient(host, port, use_ssl=use_ssl, verify=verify, cacert=ca_cert)
|
File "/opt/couchbase/lib/python/cb_bin_client.py", line 112, in __init__ |
raise sock_error
|
UnboundLocalError: local variable 'sock_error' referenced before assignment |
This also causes a hang.
This works fine on non-tls nodes, and if localhost and 8091 are used in place of an external ip address.
Also note that this issue is also seen on Neo, where cbtransfer is deprecated.
What's expected?
I expect this to either succeed, or at least give a meaningful error message.
Steps to reproduce
- Start a cluster (all services except analytics is fine)
- set cluster encryption level to strict e.g.
curl -X POST -u Administrator:password http://localhost:8091/settings/security -d clusterEncryptionLevel=strict
- Load some amount of data (travel-sample in this case)
- Attempt a cbtransfer from the node e.g.
./cbtransfer https://10.112.207.101:18091 ~/example -u Administrator -p password