WebDAV 数据同步失败 HTTP 413

同步失败老问题还在出现,具体表现为上传写入时找不到 lock, 我给你把服务端的日志也贴出来

运行版本:3.0.2,

运行环境:Windows

症状:随机会有一些 objects 无法上传写入,导致同步失败

“Write main/siyuan/repo/objects/8c/bfe0aa0e32bfb265e2fa0f521e193781a60d62: 413 (Provider: WebDAV) (2024-03-06 11:27:04)”

服务端日志:

[GIN] 2024/03/06 - 03:26:55 | 404 | 1.248049ms | 122.193.144.148 | GET "/dav/main/siyuan/repo/lock-sync"
[GIN] 2024/03/06 - 03:26:55 | 207 | 16.055204ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:55 | 201 | 2.119812ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/lock-sync"
[GIN] 2024/03/06 - 03:26:56 | 200 | 519.361µs | 122.193.144.148 | GET "/dav/main/siyuan/repo/refs/latest"
[GIN] 2024/03/06 - 03:26:56 | 200 | 664.871µs | 122.193.144.148 | GET "/dav/main/siyuan/repo/indexes/b872f798d65b878eb09e88fa7716982466e6b14d"
[GIN] 2024/03/06 - 03:26:56 | 207 | 18.784831ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:56 | 207 | 11.467357ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:56 | 207 | 15.662101ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:57 | 207 | 15.380232ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:57 | 207 | 22.821211ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:58 | 207 | 22.103092ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:58 | 207 | 16.485751ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:59 | 207 | 11.95759ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:26:59 | 201 | 452.36µs | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/d3/f9f85f0db25fb278d06113ff6e6fc98a0aea63"
[GIN] 2024/03/06 - 03:27:00 | 201 | 4.529149ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/08/04454059c7f9bed2b989e1a5a4685310fc1160"
[GIN] 2024/03/06 - 03:27:00 | 201 | 4.488382ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/56/f7cda1186e3d67b63c18c3b673991709aa56c8"
[GIN] 2024/03/06 - 03:27:01 | 201 | 3.695357ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/d5/d4e7892a3766b8ac992833582dc5ea1f575fa8"
[GIN] 2024/03/06 - 03:27:02 | 201 | 3.780536ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/c6/7c830d44ab8f22affb802cf51d9d3b89dcc313"
[GIN] 2024/03/06 - 03:27:02 | 207 | 13.405263ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:27:03 | 207 | 27.105053ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:27:03 | 207 | 16.4328ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:27:03 | 207 | 16.985564ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
[GIN] 2024/03/06 - 03:27:03 | 204 | 293.567µs | 122.193.144.148 | DELETE "/dav/main/siyuan/repo/lock-sync"
[GIN] 2024/03/06 - 03:27:05 | 201 | 3.558199ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/a0/7f024c7e74ed9e2bc92e41f829defa513c35d8"
[GIN] 2024/03/06 - 03:27:05 | 201 | 5.565644ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/63/406618fd197f5431e92be5e308f06dca576bfc"

注意,在上传时,程序是先获得 lock,然后才能写入。观察两行加粗的日志,第一行加粗的地方企图获得 lock,失败了(404),第二行试图删除一个不存在的 lock(204)

你这个 lock 如何处理的赶紧看一下啊不能版本更迭很快,但老 bug 还在带进来。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18994 引用 • 71305 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    获取不到锁文件的话会创建锁,删除不存在的锁返回 204 不会导致报错,这些都是正常逻辑。

    多半是 WebDAV 服务器或者网络导致的其他问题,建议结合思源内核日志定位问题。

    2 回复
  • zhsy

    内核日志在哪里呢?

    这个问题是在升级到 3.0.x 版本后出现的,以前在 2.x.x 低的版本的会出现,后来就没有出现。

    1 回复
  • 88250

    内核日志位于工作空间/temp/siyuan.log

    1 回复
  • zhsy

    .... 你这个路径,我在 windows 的 temp 目录找了,没有找到。在 siyuan 的安装目录下也找了,没有。

    1 回复
  • zhsy

    kernel 日志我没找到。我再跑了下同步,然后服务端显示如下日志:

    [GIN] 2024/03/06 - 06:32:45 | 404 | 1.049144ms | 122.193.144.148 | GET "/dav/main/siyuan/repo/lock-sync"
    [GIN] 2024/03/06 - 06:32:45 | 207 | 25.74742ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:45 | 201 | 1.025277ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/lock-sync"
    [GIN] 2024/03/06 - 06:32:47 | 200 | 618.481µs | 122.193.144.148 | GET "/dav/main/siyuan/repo/refs/latest"
    [GIN] 2024/03/06 - 06:32:47 | 200 | 860.737µs | 122.193.144.148 | GET "/dav/main/siyuan/repo/indexes/8fb8332041c62fe80a70dbdc6c95d7bb3e55c120"
    [GIN] 2024/03/06 - 06:32:47 | 207 | 22.082192ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:47 | 207 | 16.633438ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:48 | 207 | 18.788231ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:48 | 207 | 67.078096ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:48 | 207 | 51.854576ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:48 | 207 | 21.457725ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:48 | 207 | 13.501055ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:48 | 207 | 18.930952ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:51 | 201 | 8.208041ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/f1/61cf4a622bd58a2e4f560ead0332f706f9147e"
    [GIN] 2024/03/06 - 06:32:53 | 201 | 4.748126ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/56/f7cda1186e3d67b63c18c3b673991709aa56c8"
    [GIN] 2024/03/06 - 06:32:54 | 201 | 5.23452ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/a0/7f024c7e74ed9e2bc92e41f829defa513c35d8"
    [GIN] 2024/03/06 - 06:32:54 | 201 | 4.806ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/6d/994f945335cf78901b5dfd992c352cb7667c3c"
    [GIN] 2024/03/06 - 06:32:55 | 207 | 9.542678ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:55 | 201 | 7.292342ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/fa/0b64691b1a4861d88a72ae6a6c95dbb72cd94a"
    [GIN] 2024/03/06 - 06:32:56 | 207 | 13.695676ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:57 | 207 | 22.245977ms | 122.193.144.148 | PROPFIND "/dav/main/siyuan/repo/objects/"
    [GIN] 2024/03/06 - 06:32:57 | 204 | 398.187µs | 122.193.144.148 | DELETE "/dav/main/siyuan/repo/lock-sync"
    [GIN] 2024/03/06 - 06:32:58 | 201 | 5.587148ms | 122.193.144.148 | PUT "/dav/main/siyuan/repo/objects/34/0f75908bc71a1ac258f58dbab8ee9b373c5130"

    加粗的四行足够说明问题了,正如你说的,会创建 lock,但是上传还没有结束前,就把 lock 给删了,导致最后一条上传失败

    1 回复
  • 88250

    在工作空间文件夹里。

  • 88250

    还是传一下内核日志吧,同步数据是并发操作,其中某次上传失败后会退出同步,退出时肯定要删锁的,所以不是你认为的靠这几行日志就能判断出问题,真正的问题可能是其他原因导致。

    1 回复
  • zhsy

    嗯,找到了。好。siyuanlog.zip

    1 回复
  • 88250

    从内核日志上看是因为 WebDAV 服务端返回了 HTTP 状态码 413 导致的上传失败:

    E 2024/03/06 11:23:19 webdav.go:89: upload object [main/siyuan/repo/objects/9a/6c9beeddfcb6d11236c2d2d1d8cfd4f2d540eb] failed: Write main/siyuan/repo/objects/9a/6c9beeddfcb6d11236c2d2d1d8cfd4f2d540eb: 413
    E 2024/03/06 11:23:19 sync.go:1420: upload chunks failed: Write main/siyuan/repo/objects/9a/6c9beeddfcb6d11236c2d2d1d8cfd4f2d540eb: 413
    

    你看一下 WebDAV 服务器配置吧,估计是限制了单文件最大大小,把其调整到 8M 以上应该就没问题了。

    1 回复
  • zhsy

    改成了 50M。同步时现在报这个错,(siyuan.log)

    E 2024/03/06 15:19:45 webdav.go:89: upload object [main/siyuan/repo/objects/fb/fead01d01eb04b488d32a3428e4872fade1dd1] failed: Put "https://yuanclouds.com/dav/main/siyuan/repo/objects/fb/fead01d01eb04b488d32a3428e4872fade1dd1": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
    E 2024/03/06 15:19:45 sync.go:1420: upload chunks failed: Put "https://yuanclouds.com/dav/main/siyuan/repo/objects/fb/fead01d01eb04b488d32a3428e4872fade1dd1": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
    E 2024/03/06 15:19:45 sync.go:201: upload cloud failed: Put "https://yuanclouds.com/dav/main/siyuan/repo/objects/fb/fead01d01eb04b488d32a3428e4872fade1dd1": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
    
请输入回帖内容 ...

推荐标签 标签

  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖 • 2 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖 • 1 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 594 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 126 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 347 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 418 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6636 引用 • 29761 回帖 • 248 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    333 引用 • 323 回帖 • 62 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 689 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    4 引用 • 55 回帖 • 12 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    276 引用 • 685 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 568 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 440 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 149 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 2 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    174 引用 • 990 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    397 引用 • 3418 回帖 • 1 关注
  • 996
    13 引用 • 200 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖 • 1 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 510 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖 • 1 关注