Details
-
Task
-
Resolution: Fixed
-
Major
-
master
-
0
Description
It would allow us to print something readable in backtraces when we encounter an issue during cluster tests such that we have more useful information. In the below backtrace we could have benefited from knowing which node was being rebalanced at the time of failure, however, only an object is logged "<testlib.node.Node object at 0x7f6b76322640>". Writing a __repr__ function for the Node class would have printed whatever was returned.
18:37:36 Starting testset: BucketMigrationTest/num_nodes=4,num_connected=2,memsize=2048...
|
18:37:36 BucketMigrationTest.migrate_storage_mode_test... passed [3.6s]
|
18:37:39 BucketMigrationTest.migrate_storage_mode_via_failover_test... Traceback with variables (most recent call last):
|
18:37:48 File "/home/couchbase/jenkins/workspace/ns-server-cluster-tests/ns_server/cluster_tests/testlib/testlib.py", line 131, in safe_test_function_call
|
...
|
18:37:48 File "/home/couchbase/jenkins/workspace/ns-server-cluster-tests/ns_server/cluster_tests/bucket_migration_test.py", line 140, in migrate_storage_mode_via_failover_test
|
18:37:48 cluster.recover_node(node, do_rebalance=True)
|
18:37:48 self = <bucket_migration_test.BucketMigrationTest object at 0x7f6b766f75e0>
|
18:37:48 cluster = <testlib.cluster.Cluster object at 0x7f6b76322b50>
|
18:37:48 nodes = [<testlib.node.Node object at 0x7f6b763228b0>, <testlib.node.Node object at 0x7f6b76322640>]
|
18:37:48 node = <testlib.node.Node object at 0x7f6b76322640>
|
18:37:48 File "/home/couchbase/jenkins/workspace/ns-server-cluster-tests/ns_server/cluster_tests/testlib/cluster.py", line 275, in recover_node
|
18:37:48 self.rebalance(wait=True, verbose=verbose)
|
18:37:48 self = <testlib.cluster.Cluster object at 0x7f6b76322b50>
|
18:37:48 node = <testlib.node.Node object at 0x7f6b76322640>
|
18:37:48 recovery_type = 'full'
|
18:37:48 do_rebalance = True
|
18:37:48 verbose = False
|
18:37:48 otp_nodes = {'127.0.0.1:9015': 'n_15@127.0.0.1', '127.0.0.1:9016': 'n_16@127.0.0.1'}
|
18:37:48 otp_node = 'n_15@127.0.0.1'
|
18:37:48 data = {'user': 'Administrator', 'password': 'asdasd', 'otpNode': 'n_15@127.0.0.1', 'recoveryType': 'full'}
|
18:37:48 r = <Response [200]>
|
18:37:48 File "/home/couchbase/jenkins/workspace/ns-server-cluster-tests/ns_server/cluster_tests/testlib/cluster.py", line 189, in rebalance
|
18:37:48 assert error is expected_error, \
|
18:37:48 self = <testlib.cluster.Cluster object at 0x7f6b76322b50>
|
18:37:48 ejected_nodes = None
|
18:37:48 wait = True
|
18:37:48 timeout_s = 600
|
18:37:48 verbose = False
|
18:37:48 expected_error = None
|
18:37:48 known_nodes_string = 'n_15@127.0.0.1,n_16@127.0.0.1'
|
18:37:48 ejected_nodes_string = ''
|
18:37:48 data = {'knownNodes': 'n_15@127.0.0.1,n_16@127.0.0.1', 'ejectedNodes': ''}
|
18:37:48 error = 'Rebalance failed. See logs for detailed reason. You can try again.'
|
18:37:48 otp_nodes = {'127.0.0.1:9015': 'n_15@127.0.0.1', '127.0.0.1:9016': 'n_16@127.0.0.1'}
|
BucketMigrationTest code - https://github.com/couchbase/ns_server/blob/b3fd8118ace2b6fdfc3c3dc3f6afe79803e54157/cluster_tests/bucket_migration_test.py#L140
Attachments
Issue Links
- relates to
-
MB-58120 Intermittent test failure in BucketMigrationTest.migrate_storage_mode_via_failover_test
- Open