Skip to content

Commit e53bdda

Browse files
committed
Fix cluster upgrade
1 parent efc75b2 commit e53bdda

File tree

1 file changed

+15
-21
lines changed

1 file changed

+15
-21
lines changed

tests/bwc/test_recovery.py

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,24 @@ def test(self):
1515
self._run_tests(
1616
[
1717
UpgradePath('4.2.x', '4.3.x'),
18-
UpgradePath('4.3.0', '4.3.0'),
18+
UpgradePath('4.3.0', 'latest-nightly'),
1919
],
2020
[
21-
self._test_recovery_with_concurrent_indexing,
22-
self._test_recovery,
23-
self._test_update_docs,
24-
self._test_recovery_closed_index,
25-
self._test_closed_index_during_rolling_upgrade,
26-
self._test_auto_expand_indices_during_rolling_upgrade,
27-
self._test_retention_leases_established_when_promoting_primary,
28-
self._test_closed_index_noop_recovery,
29-
self._test_relocation_with_concurrent_indexing
21+
self._test_recovery_with_concurrent_indexing,
22+
self._test_recovery,
23+
self._test_update_docs,
24+
self._test_recovery_closed_index,
25+
self._test_closed_index_during_rolling_upgrade,
26+
self._test_auto_expand_indices_during_rolling_upgrade,
27+
self._test_retention_leases_established_when_promoting_primary,
28+
self._test_closed_index_noop_recovery,
29+
self._test_relocation_with_concurrent_indexing
3030
]
3131
)
3232

3333
def test_from_43(self):
3434
self._run_tests(
35-
[UpgradePath('4.3.0', '4.3.x')],
35+
[UpgradePath('4.3.0', 'latest-nightly')],
3636
[
3737
self._test_turnoff_translog_retention_after_upgraded,
3838
self._test_operation_based_recovery
@@ -92,16 +92,15 @@ def _upgrade_cluster(self, cluster, version, number_of_nodes_to_upgrade):
9292
Upgrades a given number of nodes in the cluster to the provided version
9393
in randomized order.
9494
"""
95-
9695
assert number_of_nodes_to_upgrade <= len(cluster._nodes)
96+
# let's find the minimum version in the cluster to make sure we don't
97+
# upgrade nodes twice to the new version in case of a mixed cluster
98+
min_version = min([n.version for n in cluster._nodes])
9799
for idx, node in sample(list(enumerate(cluster)), number_of_nodes_to_upgrade):
98-
if self._getversion(node) < version:
100+
if node.version == min_version:
99101
new_node = self.upgrade_node(node, version)
100102
cluster[idx] = new_node
101103

102-
def _getversion(self, node):
103-
return '.'.join(map(str, node.version))
104-
105104
def _test_recovery_with_concurrent_indexing(self, path, nodes):
106105
"""
107106
This test creates a new table and insert data at every stage of the
@@ -386,11 +385,6 @@ def _test_closed_index_noop_recovery(self, path, nodes):
386385

387386
self._assert_is_closed(conn, 'doc', 'test')
388387

389-
# add assert for _assert_noop_recoveries
390-
391-
def _assert_noop_recoveries(self, conn, table_name, schema):
392-
pass
393-
394388
def _test_update_docs(self, path, nodes):
395389
"""
396390
This test creates a new table, insert data and updates data at every state at every stage of the

0 commit comments

Comments
 (0)