我们正在使用 python 脚本将一个将近 50G 的文件上传到 fedora 存储库。我们不得不突然取消它(Ctrl+C),因为我们需要在存储库服务器上突然停机。
现在,我们无法再次上传文件。我看不到对象元数据 xml 中列出的文件。上传时出现以下错误:
回溯(最近一次通话最后):
文件“create_datastream2.py”,第 386 行,在
dsresponse = s.send(prepped)
文件“/opt/python_2_7_11/lib/python2.7/site-packages/requests/sessions.py”,第 576 行,在发送中
r = adapter.send(request, **kwargs)
发送中的文件“/opt/python_2_7_11/lib/python2.7/site-packages/requests/adapters.py”,第 426 行
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))
而且我可以毫无问题地上传任何其他文件。只是这个我们突然停止的地方,它失败了。
有任何想法吗?如果你需要,我可以分享你的上传脚本。
更新 1: 实际上,现在我记得,我从门户网站上删除了该文件,认为它可能是部分文件。这创建了墓碑并防止另一个文件以相同的名称再次上传。
要解决此问题,我所要做的就是使用 DELETE 请求删除该墓碑。
那么,我想如果文件上传被突然取消不会造成任何问题?任何想法部分上传的文件会发生什么?它是否有任何剩余并占用磁盘中的任何空间?并且java.io.tmpdir
指向具有足够磁盘空间(1TB)的磁盘。那么,上传时文件是否会暂时保存在这里,如果取消上传,文件是否会被删除?我在上传时找不到任何文件,除了这个:safeToDelete.tmp