mirror of
https://github.com/certimate-go/certimate.git
synced 2026-04-26 05:05:56 +03:00
[GH-ISSUE #1137] [Bug] 版本升级后已有有效证书却重复申请 #769
Labels
No labels
announcement
backlog
bug
declined
documentation
duplicate
enhancement
good first issue
good first issue
help wanted
invalid
pull-request
question
stale
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/certimate#769
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @KudaYoung on GitHub (Jan 1, 2026).
Original GitHub issue: https://github.com/certimate-go/certimate/issues/1137
Release Version / 软件版本
v0.4.12
Description / 缺陷描述
已有同一个工作流之前申请的证书,有效时间还有80天,但是今天早上定时执行工作流时日志显示没找到证书,重新申请了一个
Steps to reproduce / 复现步骤
这是从v0.4.10更新到v0.4.12后的第一次定时执行工作流
Logs / 日志
Miscellaneous / 其他
No response
Contribution / 贡献代码
@fudiwei commented on GitHub (Jan 4, 2026):
http://127.0.0.1:8090/_/登录一下数据库面板,看下certificate这张表里,图里这俩的 workflowNodeId 字段是同一个吗?@KudaYoung commented on GitHub (Jan 4, 2026):
刚刚确认了一下,是同一个
@fudiwei commented on GitHub (Jan 4, 2026):
奇怪…… 😕
把新的这个证书、和对应的运行记录删掉,观察下还能复现吗?
@KudaYoung commented on GitHub (Jan 4, 2026):
复现了,又重新申请了一张
@fudiwei commented on GitHub (Jan 5, 2026):
麻烦在数据库面板的页面上打开浏览器开发者工具,在控制台输入(注意替换一下第一个常量值):
按回车后把控制台打印出来的的数据库 dump 内容复制到一个 txt 文件中上传到评论区。(已剔除证书私钥等敏感字段,请放心复制)
@lazyyz commented on GitHub (Jan 5, 2026):
昨晚更新到0.4.12后遇到同样的问题,workflow-id已修改,但是回车后控制台只显示undefined,没有其他内容
@fudiwei commented on GitHub (Jan 6, 2026):
麻烦截个图我看下
@lazyyz commented on GitHub (Jan 6, 2026):
@fudiwei commented on GitHub (Jan 6, 2026):
工作流 ID,不是证书 ID 哈。在
workflow那张表里。@lazyyz commented on GitHub (Jan 6, 2026):
已执行,dump里的域名和路径我替换掉了,详见临时文件分享 https://d.tmpfile.link/public/2026-01-06/68025579-d712-4133-9ba3-2b658a930487/dump.txt
@fudiwei commented on GitHub (Jan 6, 2026):
@lazyyz 请问你还有升级前的低版本数据库备份吗?我发现你的 dump 中有一些诡异的数据截断,但我本地的各个版本的备份均无法复现。如果你还有保留的话,麻烦使用低版本的 Certimate 再 dump 一次。
@lazyyz commented on GitHub (Jan 6, 2026):
没有备份,一直是下新版本然后直接启动的。我定时任务是在凌晨,等明天看看会不会还申请新的
@lazyyz commented on GitHub (Jan 7, 2026):
昨天申请过的没有重新申请了,另外一个域名昨天申请失败的,今天凌晨也申请了一个新的证书。
这是另外一个工作流的dump:https://d.tmpfile.link/public/2026-01-07/a9e2d91a-0923-4289-98e0-3ab726c3f738/dump2.txt
@lazyyz commented on GitHub (Jan 8, 2026):
同步一下,我的两个工作流今天凌晨都没有申请新证书了,运行正常。目前使用的版本是v0.4.13
@Qmli04 commented on GitHub (Jan 16, 2026):
@fudiwei 这个问题我在 v0.4.5升级到v0.4.13也碰到了。
刚刚debug了下,是workflow中的nodeid与上次执行的workflow_output中的nodeid不一致,导致执行各工作流节点时,查不到上次执行结果,最后重新触发apply。
至于nodeid不一致的原因我还未排查,猜测可能是在migration中有操作改掉了?
目前我的解决办法是 导出升级前备份的老workflow_output表,匹配新老表的id,并将老表中nodeid的值更新至新表中。这在我的环境中可以解决重复申请和部署的问题。
@fudiwei commented on GitHub (Jan 16, 2026):
是的,直接原因就是这个。而且 NodeId 还不是完全不一致、是被截断了,这就是我前面提到的“诡异的数据截断”。
但我本地的各个版本的数据备份都无法复现这个问题。
@Qmli04 你能按照前面 https://github.com/certimate-go/certimate/issues/1137#issuecomment-3708861300 提到的方式 dump 一下数据,或者按照 https://github.com/certimate-go/certimate/issues/1155#issuecomment-3736779092 的方式将数据库文件发送给我吗?需要旧版备份和升级后的两个文件。我来尝试定位一下问题。
@Qmli04 commented on GitHub (Jan 16, 2026):
@fudiwei 我刚刚定位了下,大概知道原因了,后续我会提个pr来修复。