[CP] backup task cannot finish when backup disk is full
This commit is contained in:
committed by
wangzelin.wzl
parent
e44cddde95
commit
f4df995acd
@ -1973,6 +1973,23 @@ int ObBackupFileAppender::sync_upload()
|
||||
STORAGE_LOG(WARN, "advance align size fail", K(ret), K(align_size), K(advance_size));
|
||||
}
|
||||
|
||||
#ifdef ERRSIM
|
||||
if (OB_SUCC(ret) && ObBackupFileType::BACKUP_META_INDEX == file_type_) {
|
||||
ret = E(EventTable::EN_BACKUP_COMMON_HEADER_NOT_COMPLETED) OB_SUCCESS;
|
||||
if (OB_FAIL(ret)) {
|
||||
LOG_WARN("prepare uplaod incomplete header", K(ret), KPC(common_header_));
|
||||
const int64_t head_length = sizeof(ObBackupCommonHeader);
|
||||
if (0 == head_length / 2 || data_buffer_.length() < head_length) {
|
||||
ret = OB_SUCCESS;
|
||||
} else if (OB_FAIL(storage_appender_.pwrite(data_buffer_.data(), head_length / 2, file_offset_))) {
|
||||
STORAGE_LOG(WARN, "storage_writer writer fail", K(ret), K(storage_appender_));
|
||||
} else {
|
||||
ret = OB_IO_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ERRSIM
|
||||
if (OB_SUCC(ret) && ObBackupFileType::BACKUP_META_INDEX == file_type_) {
|
||||
ret = E(EventTable::EN_BACKUP_META_INDEX_BUFFER_NOT_COMPLETED) OB_SUCCESS;
|
||||
@ -2956,7 +2973,7 @@ int ObBackupPhysicalPGCtx::fetch_retry_points(const ObString& path, const ObStri
|
||||
common_header = NULL;
|
||||
int64_t end_pos = 0;
|
||||
if (buffer_reader.remain() < sizeof(ObBackupCommonHeader)) {
|
||||
STORAGE_LOG(INFO, "backup data has incomplete data, skip it", K(buffer_reader.remain()));
|
||||
FLOG_INFO("backup data has incomplete data, skip it", K(buffer_reader.remain()), K(path), K(storage_info));
|
||||
break;
|
||||
} else if (OB_FAIL(buffer_reader.get(common_header))) {
|
||||
STORAGE_LOG(WARN, "read macro index common header fail", K(ret));
|
||||
|
||||
@ -753,7 +753,11 @@ int ObPhyRestoreMetaIndexStore::init_one_file(
|
||||
ObBackupMetaIndex meta_index;
|
||||
while (OB_SUCC(ret) && buffer_reader.remain() > 0) {
|
||||
common_header = NULL;
|
||||
if (OB_FAIL(buffer_reader.get(common_header))) {
|
||||
|
||||
if (buffer_reader.remain() < sizeof(ObBackupCommonHeader)) {
|
||||
FLOG_INFO("backup data has incomplete data, skip it", K(buffer_reader.remain()), K(path), K(storage_info));
|
||||
break;
|
||||
} else if (OB_FAIL(buffer_reader.get(common_header))) {
|
||||
STORAGE_LOG(WARN, "read meta index common header fail", K(ret));
|
||||
} else if (OB_ISNULL(common_header)) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
@ -1115,7 +1119,7 @@ int ObPhyRestoreMacroIndexStore::init_one_file(
|
||||
while (OB_SUCC(ret) && buffer_reader.remain() > 0) {
|
||||
common_header = NULL;
|
||||
if (buffer_reader.remain() < sizeof(ObBackupCommonHeader)) {
|
||||
STORAGE_LOG(INFO, "backup data has incomplete data, skip it", K(buffer_reader.remain()));
|
||||
FLOG_INFO("backup data has incomplete data, skip it", K(buffer_reader.remain()), K(path), K(storage_info));
|
||||
break;
|
||||
} else if (OB_FAIL(buffer_reader.get(common_header))) {
|
||||
STORAGE_LOG(WARN, "read macro index common header fail", K(ret));
|
||||
|
||||
Reference in New Issue
Block a user