@@ -110,7 +110,7 @@ def launch_nodetool_cmd(self, cmd):
110
110
if not common .is_win (): # nodetool always prints out on windows
111
111
assert_length_equal (response , 0 ) # nodetool does not print anything unless there is an error
112
112
113
- def launch_standalone_scrub (self , ks , cf , reinsert_overflowed_ttl = False , no_validate = False ):
113
+ def launch_standalone_scrub (self , ks , cf , reinsert_overflowed_ttl = False , no_validate = False , acceptable_errors = None ):
114
114
"""
115
115
Launch the standalone scrub
116
116
"""
@@ -134,7 +134,7 @@ def launch_standalone_scrub(self, ks, cf, reinsert_overflowed_ttl=False, no_vali
134
134
# if we have less than 64G free space, we get this warning - ignore it
135
135
if err and "Consider adding more capacity" not in err .decode ("utf-8" ):
136
136
logger .debug (err .decode ("utf-8" ))
137
- assert_stderr_clean (err .decode ("utf-8" ))
137
+ assert_stderr_clean (err .decode ("utf-8" ), acceptable_errors )
138
138
139
139
def perform_node_tool_cmd (self , cmd , table , indexes ):
140
140
"""
@@ -161,12 +161,12 @@ def scrub(self, table, *indexes):
161
161
time .sleep (.1 )
162
162
return self .get_sstables (table , indexes )
163
163
164
- def standalonescrub (self , table , * indexes ):
164
+ def standalonescrub (self , table , * indexes , acceptable_errors = None ):
165
165
"""
166
166
Launch standalone scrub on table and indexes, and then return all sstables
167
167
in a dict keyed by the table or index name.
168
168
"""
169
- self .launch_standalone_scrub (KEYSPACE , table )
169
+ self .launch_standalone_scrub (ks = KEYSPACE , cf = table , acceptable_errors = acceptable_errors )
170
170
for index in indexes :
171
171
self .launch_standalone_scrub (KEYSPACE , '{}.{}' .format (table , index ))
172
172
return self .get_sstables (table , indexes )
@@ -446,7 +446,7 @@ def test_standalone_scrub_essential_files_only(self):
446
446
447
447
self .delete_non_essential_sstable_files ('users' )
448
448
449
- scrubbed_sstables = self .standalonescrub ('users' )
449
+ scrubbed_sstables = self .standalonescrub (table = 'users' , acceptable_errors = [ "WARN.*Could not recreate or deserialize existing bloom filter, continuing with a pass-through bloom filter but this will significantly impact reads performance" ] )
450
450
self .increase_sstable_generations (initial_sstables )
451
451
assert initial_sstables == scrubbed_sstables
452
452
0 commit comments