FileUpload: restart automatically if part_size is too small
GitOrigin-RevId: bbfe3f0fca2f888f6bd4d2909935903d7c4e3b33
This commit is contained in:
parent
674a99324b
commit
c329826c5d
@ -2190,6 +2190,11 @@ void FileManager::on_error_impl(FileNode *node, FileManager::Query::Type type, b
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (status.message() == "FILE_UPLOAD_RESTART") {
|
||||||
|
run_upload(node, {});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!was_active) {
|
if (!was_active) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -140,6 +140,9 @@ Result<FileLoader::PrefixInfo> FileUploader::on_update_local_location(const Loca
|
|||||||
}
|
}
|
||||||
|
|
||||||
local_size_ = local_size;
|
local_size_ = local_size;
|
||||||
|
if (expected_size_ < local_size_) {
|
||||||
|
expected_size_ = local_size_;
|
||||||
|
}
|
||||||
local_is_ready_ = local_is_ready;
|
local_is_ready_ = local_is_ready;
|
||||||
file_type_ = file_type;
|
file_type_ = file_type;
|
||||||
|
|
||||||
|
@ -63,8 +63,7 @@ Status PartsManager::init(int64 size, bool is_size_final, size_t part_size, cons
|
|||||||
if (part_size != 0) {
|
if (part_size != 0) {
|
||||||
part_size_ = part_size;
|
part_size_ = part_size;
|
||||||
if (use_part_count_limit_ && (size_ + part_size_ - 1) / part_size_ > MAX_PART_COUNT) {
|
if (use_part_count_limit_ && (size_ + part_size_ - 1) / part_size_ > MAX_PART_COUNT) {
|
||||||
return Status::Error(PSLICE() << "Should restart load with bigger part_size " << tag("part_size_", part_size_)
|
return Status::Error("FILE_UPLOAD_RESTART");
|
||||||
<< tag("size", size_));
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// TODO choose part_size_ depending on size
|
// TODO choose part_size_ depending on size
|
||||||
|
Reference in New Issue
Block a user