Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
J
jingxiaoguan
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 22
    • Issues 22
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • weidongying
  • jingxiaoguan
  • Issues
  • #12

Closed
Open
Opened Aug 28, 2026 by weidongying@weidongyingMaintainer

本地人工审核保存被遗留事务长期阻塞

现象

本地合同台账对合同 182 执行人工审核保存时,页面持续显示保存中;网关请求约 300 秒后以 fetch failed 失败。

根因

解析库存在来自本地解析服务的 PostgreSQL 会话,状态为 idle in transaction。该会话在草稿核对入库路径执行 SELECT contract_no, mineru_md FROM contracts WHERE id = $1 后未提交、回滚或关闭,持续占有合同记录锁。后续人工审核在 SELECT contract_no FROM contracts WHERE id=$1 FOR UPDATE 上排队等待。

已恢复

2026-08-28:本地测试库中终止了一个僵尸事务及其 5 个等待保存请求;所有未提交内容均已回滚。验证后合同 182 不再存在等待锁。

后续防护

  • 排查草稿核对入库请求为何会遗留未关闭事务。
  • 为本地/生产数据库配置 idle_in_transaction_session_timeout。
  • 为网关人工审核到解析服务的转发增加明确超时与可读错误。
  • 增加回归测试:异常中断后连接必须回滚/关闭,后续审核保存不得被阻塞。
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: weidongying/jingxiaoguan#12