| 629 | }; |
| 630 | |
| 631 | ACTOR static Future<Void> _execute(Database cx, |
| 632 | Reference<TaskBucket> taskBucket, |
| 633 | Reference<FutureBucket> futureBucket, |
| 634 | Reference<Task> task) { |
| 635 | state FlowLock lock(CLIENT_KNOBS->BACKUP_LOCK_BYTES); |
| 636 | |
| 637 | wait(checkTaskVersion(cx, task, EraseLogRangeTaskFunc::name, EraseLogRangeTaskFunc::version)); |
| 638 | |
| 639 | state Reference<ReadYourWritesTransaction> tr(new ReadYourWritesTransaction(taskBucket->src)); |
| 640 | loop { |
| 641 | try { |
| 642 | Version endVersion = BinaryReader::fromStringRef<Version>( |
| 643 | task->params[DatabaseBackupAgent::keyEndVersion], Unversioned()); |
| 644 | wait(eraseLogData( |
| 645 | tr, |
| 646 | task->params[BackupAgentBase::keyConfigLogUid], |
| 647 | task->params[BackupAgentBase::destUid], |
| 648 | Optional<Version>(endVersion), |
| 649 | CheckBackupUID::True, |
| 650 | BinaryReader::fromStringRef<Version>(task->params[BackupAgentBase::keyFolderId], Unversioned()))); |
| 651 | wait(tr->commit()); |
| 652 | return Void(); |
| 653 | } catch (Error& e) { |
| 654 | wait(tr->onError(e)); |
| 655 | } |
| 656 | } |
| 657 | } |
| 658 | |
| 659 | ACTOR static Future<Key> addTask(Reference<ReadYourWritesTransaction> tr, |
nothing calls this directly
no test coverage detected