@@ -4147,8 +4147,15 @@ def start_and_interrupt_repair_streaming(self):
41474147
41484148 self .target_node .wait_node_fully_start ()
41494149
4150- with adaptive_timeout (Operations .REBUILD , self .target_node , timeout = HOUR_IN_SEC * 48 ):
4151- self .target_node .run_nodetool ("rebuild" , long_running = True , retry = 0 )
4150+ is_rebuild_supported = SkipPerIssues ('scylladb/scylladb#17575' , params = self .tester .params )
4151+ # If tablets in use and rebuild is not supported, running a DC repair instead.
4152+ with self .cluster .cql_connection_patient (self .target_node ) as session :
4153+ if is_tablets_feature_enabled (session = session ) and not is_rebuild_supported :
4154+ for node in [n for n in self .cluster .nodes if n .dc_idx == self .target_node .dc_idx and n .db_up ()]:
4155+ node .run_nodetool (sub_cmd = "repair" , long_running = True , retry = 0 )
4156+ else :
4157+ with adaptive_timeout (Operations .REBUILD , self .target_node , timeout = HOUR_IN_SEC * 48 ):
4158+ self .target_node .run_nodetool ("rebuild" , long_running = True , retry = 0 )
41524159
41534160 def start_and_interrupt_rebuild_streaming (self ):
41544161 """
@@ -4178,8 +4185,15 @@ def start_and_interrupt_rebuild_streaming(self):
41784185 )
41794186 ParallelObject (objects = [trigger , watcher ], timeout = timeout + 60 ).call_objects ()
41804187 self .target_node .wait_node_fully_start (timeout = 300 )
4181- with adaptive_timeout (Operations .REBUILD , self .target_node , timeout = HOUR_IN_SEC * 48 ):
4182- self .target_node .run_nodetool ("rebuild" , long_running = True , retry = 0 )
4188+ is_rebuild_supported = SkipPerIssues ('scylladb/scylladb#17575' , params = self .tester .params )
4189+ # If tablets in use and rebuild is not supported, running a DC repair instead.
4190+ with self .cluster .cql_connection_patient (self .target_node ) as session :
4191+ if is_tablets_feature_enabled (session = session ) and not is_rebuild_supported :
4192+ for node in [n for n in self .cluster .nodes if n .dc_idx == self .target_node .dc_idx and n .db_up ()]:
4193+ node .run_nodetool (sub_cmd = "repair" , long_running = True , retry = 0 )
4194+ else :
4195+ with adaptive_timeout (Operations .REBUILD , self .target_node , timeout = HOUR_IN_SEC * 48 ):
4196+ self .target_node .run_nodetool ("rebuild" , long_running = True , retry = 0 )
41834197
41844198 def disrupt_decommission_streaming_err (self ):
41854199 """
0 commit comments