aliyunpan icon indicating copy to clipboard operation
aliyunpan copied to clipboard

分片上传出错

Open facefunny opened this issue 1 year ago • 5 comments

[8] 2024-08-11 22:11:24 检测秒传中, 请稍候...
[8] 2024-08-11 22:11:24 秒传失败,开始正常上传文件
[2024-8-11 22:11:04.152] upload task CREATED from instance state

[2024-8-11 22:11:04.152] begin to upload part: 1
[2024-8-11 22:11:04.152] do request url: https://cn-beijing-data.aliyundrive.net/
[2024-8-11 22:11:04.398] 分片上传出错: 分片1 => <?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>PartNotSequential</Code>
  <Message>For sequential multipart upload, you must upload or complete parts with sequential part number.</Message>
  <RequestId>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</RequestId>
  <HostId>cn-beijing-data.aliyundrive.net</HostId>
  <PartNumber>2</PartNumber>
  <EC>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</EC>
  <RecommendDoc>https://api.aliyun.com/troubleshoot?q=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</RecommendDoc>
</Error>

[2024-8-11 22:11:04.398] upload file data chunk error  PartNotSequential
[2024-8-11 22:11:04.399] multiUpload worker upload file done
[2024-8-11 22:11:04.400] upload file part err: %+v PartNotSequential
[2024-8-11 22:11:04.401] upload start over: %d
 1
[8] 2024-08-11 22:11:24 文件分片上传顺序错误,开始重新上传文件

facefunny avatar Aug 11 '24 14:08 facefunny

逻辑上有做了适配,这个应该是能自己恢复重传的才对。

xiaoyaofenfen avatar Aug 12 '24 06:08 xiaoyaofenfen

逻辑上有做了适配,这个应该是能自己恢复重传的才对。

已经成功传了第一个分块退出的,应该从第二个开始吧? https://github.com/tickstep/aliyunpan/blob/d85758b8b0415109ce7b7f173e33293674777cf8/internal/syncdrive/file_action_task.go#L561 这里代码是从0第一个分块开始?之后分片上传完成存储已上传索引到本地吗?我测试是ctrl+c直接退出了,是否就来不及存储状态,阿里云api是否有查询已上传分片索引接口,有的话我觉得应该从接口获取,本地程序错误状态就存不了

facefunny avatar Aug 12 '24 06:08 facefunny

逻辑上有做了适配,这个应该是能自己恢复重传的才对。

已经成功传了第一个分块退出的,应该从第二个开始吧?

https://github.com/tickstep/aliyunpan/blob/d85758b8b0415109ce7b7f173e33293674777cf8/internal/syncdrive/file_action_task.go#L561

这里代码是从0第一个分块开始?之后分片上传完成存储已上传索引到本地吗?我测试是ctrl+c直接退出了,是否就来不及存储状态,阿里云api是否有查询已上传分片索引接口,有的话我觉得应该从接口获取,本地程序错误状态就存不了

另外,我是win11,winget安装的,ctrtl+c或者网络中断直接窗口退出了,而不是退出上传过程,是否应该设置下退出逻辑?

facefunny avatar Aug 12 '24 06:08 facefunny

逻辑上有做了适配,这个应该是能自己恢复重传的才对。

列举已上传分片 API: POST 域名 + /adrive/v1.0/openFile/listUploadedParts 说明:创建文件

搜索了下代码里好像没有用到这个接口

facefunny avatar Aug 13 '24 04:08 facefunny

逻辑上有做了适配,这个应该是能自己恢复重传的才对。

测试了下网络中断,并不能断点续传,上传文件夹,多个4GB文件,截图如下 Snipaste_2024-08-13_12-41-56

facefunny avatar Aug 13 '24 04:08 facefunny

0.3.4版本已经解决

xiaoyaofenfen avatar Sep 22 '24 05:09 xiaoyaofenfen

@xiaoyaofenfen 0.3.4版本仍然报错,一样的出错信息 我在上传40G的大文件时莫名中断,重新开始时就无法继续,一直0KB/s

aliyunpan upload --norapid --skip --bs 30720 /aa /bb

image

mlkt avatar Oct 29 '24 19:10 mlkt