Git 推送通过 AFS 共享上的 git-http-backend 随机失败

发布于 2024-11-02 09:30:24 字数 490 浏览 1 评论 0原文

我的 Git 存储库位于 AFS 共享上。 Linux 服务器上的所有正在运行的进程都有权在此 AFS 共享上写入文件和目录的掩码。

Git 通过 Git Smart HTTP 以及 Apache 和 git-http-backend 提供服务。

我遇到的问题是,当我尝试从客户端推送到主服务器时,我必须重复该操作 3 到 4 次,直到它起作用。在 Apache 服务器端,我看到这些错误:

fatal: failed to write object 错误:没有足够的权限将对象添加到存储库数据库./objects

在客户端我有这个错误:

错误:解包失败:解包对象异常退出

我不明白的是为什么它在 3/4 次后工作,因为在此期间,文件夹的权限不会改变。

有什么线索吗?

谢谢你!

Gilles

PS:客户端上的Git版本是git-1.7.3.4-3.6,服务器上的Git版本是git-1.7.4.1

My Git repository sits on an AFS share. All running processes on the Linux server have rights to write on this AFS share what ever the mask of files and directories are.

Git is served through Git Smart HTTP with Apache and git-http-backend.

The problem I have, is when I try to push to the master from a client, I have to repeat the operation 3 to 4 times until it works. On the Apache server side I see these errors:

fatal: failed to write object
error: insufficient permission for adding an object to repository database ./objects

On the client side I have this error:

error: unpack failed: unpack-objects abnormal exit

What I don't understand is why is it working after 3/4 times because in between the rights on the folder don't change.

Any clue?

Thank you!

Gilles

PS: version of Git on the client is git-1.7.3.4-3.6 and on the server git-1.7.4.1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坏尐絯 2024-11-09 09:30:24

为什么它在 3/4 次之后才起作用,因为在这期间文件夹的权限没有改变。

可能是因为它与权限无关。更有可能的是,存在一种通过存储在 AFS 共享上而成为可能的竞争条件。您最好的选择是

  • “不这样做”(即首先存储在本地存储上)
  • 每次使用 AFS 文档来查找任何相关标志(查找“同步”、“延迟”、“缓存”或“惰性”)
  • 文件它是 AFS 用户组上的错误/帖子,

我在 ZFS-fuse 上看到过类似的问题,当 我们首先开始优化小写入 (git 做得非常准确和优化stat 更新;如果不能立即按预期读回,则会失败)

why is it working after 3/4 times because in between the rights on the folder don't change.

Probably because it is not permissions related. More likely, there is a kind of race condition that is made possible by storing on the AFS share. Your best bets would be to

  • do 'not do that' (i.e. store on local storage first)
  • per-use AFS documentation to find any relevant flags (look for 'sync', 'delay', 'cache' or 'lazy')
  • file it as a bug/post on AFS user groups

I've seen problems like this occur on ZFS-fuse when we first started out optimizing small writes (git does very accurate and optimized stat updates; if it cannot read back as expected immediately, it will fail)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文