WebDAV 数据同步失败 HTTP 413

本贴最后更新于 261 天前,其中的信息可能已经时移俗易

同步失败老问题还在出现,具体表现为上传写入时找不到 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 还在带进来。

  • 思源笔记

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

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

    22354 引用 • 89457 回帖

相关帖子

欢迎来到这里!

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

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

    嗯,找到了。好。siyuanlog.zip

    1 回复
  • 其他回帖
  • 88250

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

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

    2 回复
  • zhsy

    内核日志在哪里呢?

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

    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 回复
  • 查看全部回帖

推荐标签 标签

  • 自由行
    11 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 43 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 351 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖 • 2 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 155 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 2 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 615 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    543 引用 • 672 回帖
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 3 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 724 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    107 引用 • 295 回帖
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖
  • 思源笔记

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

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

    22354 引用 • 89457 回帖
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 261 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1235 回帖 • 412 关注
  • JSON

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

    52 引用 • 190 回帖
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 474 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 596 关注
  • Git

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

    209 引用 • 358 回帖
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖
  • 微软

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

    8 引用 • 44 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 40 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 73 关注
  • 开源

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

    408 引用 • 3574 回帖 • 1 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 2 关注