Fix data race warning of BackupableDBTest.TableFileWithDbChecksumCorruptedDuringBackup (#7177)

Summary:
Fix the data race warning by removing an unnecessary variable that causes the warning.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7177

Test Plan:
`COMPILE_WITH_TSAN=1 make backupable_db_test`
`./backupable_db_test --gtest_filter=*TableFileWithDbChecksumCorruptedDuringBackup*`

Reviewed By: riversand963

Differential Revision: D22774430

Pulled By: gg814

fbshipit-source-id: 3b0b1ac344d0375c64da564cc97f98745c289959
main
zitan 4 years ago committed by Facebook GitHub Bot
parent b0279d3869
commit 4496719450
  1. 15
      utilities/backupable/backupable_db_test.cc

@ -1303,7 +1303,7 @@ TEST_F(BackupableDBTest, TableFileWithDbChecksumCorruptedDuringBackup) {
OpenDBAndBackupEngine(true /* destroy_old_data */, false /* dummy */, sopt); OpenDBAndBackupEngine(true /* destroy_old_data */, false /* dummy */, sopt);
FillDB(db_.get(), 0, keys_iteration); FillDB(db_.get(), 0, keys_iteration);
bool corrupted = false;
// corrupt files when copying to the backup directory // corrupt files when copying to the backup directory
SyncPoint::GetInstance()->SetCallBack( SyncPoint::GetInstance()->SetCallBack(
"BackupEngineImpl::CopyOrCreateFile:CorruptionDuringBackup", "BackupEngineImpl::CopyOrCreateFile:CorruptionDuringBackup",
@ -1312,18 +1312,15 @@ TEST_F(BackupableDBTest, TableFileWithDbChecksumCorruptedDuringBackup) {
Slice* d = reinterpret_cast<Slice*>(data); Slice* d = reinterpret_cast<Slice*>(data);
if (!d->empty()) { if (!d->empty()) {
d->remove_suffix(1); d->remove_suffix(1);
corrupted = true;
} }
} }
}); });
SyncPoint::GetInstance()->EnableProcessing(); SyncPoint::GetInstance()->EnableProcessing();
Status s = backup_engine_->CreateNewBackup(db_.get()); // The only case that we can't detect a corruption is when the file
if (corrupted) { // being backed up is empty. But as keys_iteration is large, such
ASSERT_NOK(s); // a case shouldn't have happened and we should be able to detect
} else { // the corruption.
// should not in this path in normal cases ASSERT_NOK(backup_engine_->CreateNewBackup(db_.get()));
ASSERT_OK(s);
}
SyncPoint::GetInstance()->DisableProcessing(); SyncPoint::GetInstance()->DisableProcessing();
SyncPoint::GetInstance()->ClearAllCallBacks(); SyncPoint::GetInstance()->ClearAllCallBacks();

Loading…
Cancel
Save