【发布时间】:2022-01-09 05:29:50
【问题描述】:
假设我在本地 Linux 文件系统上安装了一个 GCS 存储桶。想象一下,我有一个应用程序正在将新文件写入挂载到 GCS 的 Linux 目录中。我的目标是让那些本地编写的文件最终出现在 GCS 中。
我知道 Linux 上的写入是“本地”发生的,直到文件关闭……如果我失去网络连接并因此无法写入 GCS,会发生什么情况?本地文件最终会出现在 GCS 中吗?是否会发生重试和重新尝试?
【问题讨论】:
标签: gcsfuse
假设我在本地 Linux 文件系统上安装了一个 GCS 存储桶。想象一下,我有一个应用程序正在将新文件写入挂载到 GCS 的 Linux 目录中。我的目标是让那些本地编写的文件最终出现在 GCS 中。
我知道 Linux 上的写入是“本地”发生的,直到文件关闭……如果我失去网络连接并因此无法写入 GCS,会发生什么情况?本地文件最终会出现在 GCS 中吗?是否会发生重试和重新尝试?
【问题讨论】:
标签: gcsfuse
基于gcsfuse 的存储库documentation,文件上传重试已内置于实用程序中,当访问已装载的存储桶时出现问题时会发生文件上传重试。您可以使用--max-retry-sleep 标志修改重试的最大回退。此标志控制重试之间可以达到的最长时间,之后重试停止。该标志接受 X 分钟作为输入。
This 文档页面也是相关的,如果您想了解更多关于gcsfuse 的具体特征。
【讨论】:
gcsfuse 挂载目录并且不存在与 GCP 的网络连接,那么副本将阻塞,如果我们达到最大重试最终会失败。这意味着写gcsfuse是同步操作而不是异步操作?