Skip to content

Commit

Permalink
[fix](backup) filter the staled task response by job id (#47416)
Browse files Browse the repository at this point in the history
  • Loading branch information
w41ter authored and dataroaring committed Jan 30, 2025
1 parent 13e88b8 commit 6b489b0
Showing 1 changed file with 23 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -729,12 +729,18 @@ public void cancel(CancelBackupStmt stmt) throws DdlException {

public boolean handleFinishedSnapshotTask(SnapshotTask task, TFinishTaskRequest request) {
AbstractJob job = getCurrentJob(task.getDbId());

if (job == null) {
LOG.warn("failed to find backup or restore job for task: {}", task);
// return true to remove this task from AgentTaskQueue
return true;
}

if (job.getJobId() != task.getJobId()) {
LOG.warn("invalid snapshot task: {}, job id: {}, task job id: {}", task, job.getJobId(), task.getJobId());
// return true to remove this task from AgentTaskQueue
return true;
}

if (job instanceof BackupJob) {
if (task.isRestoreTask()) {
LOG.warn("expect finding restore job, but get backup job {} for task: {}", job, task);
Expand All @@ -759,13 +765,13 @@ public boolean handleFinishedSnapshotUploadTask(UploadTask task, TFinishTaskRequ
LOG.info("invalid upload task: {}, no backup job is found. db id: {}", task, task.getDbId());
return false;
}
BackupJob restoreJob = (BackupJob) job;
if (restoreJob.getJobId() != task.getJobId() || restoreJob.getState() != BackupJobState.UPLOADING) {
BackupJob backupJob = (BackupJob) job;
if (backupJob.getJobId() != task.getJobId() || backupJob.getState() != BackupJobState.UPLOADING) {
LOG.info("invalid upload task: {}, job id: {}, job state: {}",
task, restoreJob.getJobId(), restoreJob.getState().name());
task, backupJob.getJobId(), backupJob.getState().name());
return false;
}
return restoreJob.finishSnapshotUploadTask(task, request);
return backupJob.finishSnapshotUploadTask(task, request);
}

public boolean handleDownloadSnapshotTask(DownloadTask task, TFinishTaskRequest request) {
Expand All @@ -776,6 +782,12 @@ public boolean handleDownloadSnapshotTask(DownloadTask task, TFinishTaskRequest
return true;
}

if (job.getJobId() != task.getJobId()) {
LOG.warn("invalid download task: {}, job id: {}, task job id: {}", task, job.getJobId(), task.getJobId());
// return true to remove this task from AgentTaskQueue
return true;
}

return ((RestoreJob) job).finishTabletDownloadTask(task, request);
}

Expand All @@ -787,6 +799,12 @@ public boolean handleDirMoveTask(DirMoveTask task, TFinishTaskRequest request) {
return true;
}

if (job.getJobId() != task.getJobId()) {
LOG.warn("invalid dir move task: {}, job id: {}, task job id: {}", task, job.getJobId(), task.getJobId());
// return true to remove this task from AgentTaskQueue
return true;
}

return ((RestoreJob) job).finishDirMoveTask(task, request);
}

Expand Down

0 comments on commit 6b489b0

Please sign in to comment.