部分出口:商品进出口
- identified
我们正面临并查明我们的商贸进出口服务部分停用,并正努力尽快解决这个问题.
- resolved
这一事件已经得到解决.
- postmortem
# 死后事件报告 ** 所有仓库的包装板进出口延迟** {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? | -- -- -- -- -- -- -- 2026年10月25日早上11点25分, 会期:3小时1分 **事件类型** 服务退化:背景处理 一个非常大的客户进口 停止了所有商店的进出口 66家商店的132个出口申请被推迟,平均81分钟,最多3小时43分钟。 其中3项已超时,必须再次提出请求。 开始大规模进口的商店的客户进口被推迟至下午3:12。 =========================================================================================================================================================================================== 商店、退房和仪表板一直有效 只有进出口在等待。 | □ 总结 Dashboard出口\(订单、客户、钱包、废弃的手推车等)和仪表板进口是由一个共享的工人库在背景中构建的。 在上午11点23分,一个商船开始进口客户,大约105万行。 平台将每个导入分入100行的部分,因此这一行成为了10,486个部件. 每部分后,平台会检查整个导入是否完成,从而可以发送"Merchant"摘要. 该检查将导入的每个部分,行包括在内,装入了内存: 大约每一次检查200 MB, 最多5个检查一次运行。 工人们记忆力已尽,一次又一次地重启. 每个 Store 的导出请求在导入部件后等待 。 我们发送了一个代码级别更改,所以检查只询问是否还有任何部分有待处理,并将数据库中的最后总数加起来。 它不再加载行,因此它的内存使用不再随导入大小而增长. □时间线\(KSA时间\) 时间 时间 活动 | -- -- -- -- -- -- -- 11:23 AM Q A Merchant开始客户进口约105万行. 到上午11点27分,它被分为10 486个部分。 早上11点25分 创建了第一个需要等待的导出请求 。 以后在导入部件后请求队列 。 @ info ~11:34 上午~ 工人开始失去记忆,重新开始工作。 从这里开始,每重启一次就完成大约5个进口部件,几乎没有出口。 | A Merchant报告支持自11:30起提出的3起出口请求, PM ~ 1 :15 产品工程开始调查,并将重启跟踪到导入完成检查. PM 1:54 PM 产品工程公司准备了修改,并进行了复制内存增长的测试. 工人开始清理积压, | 2:26 PM 最后一次延迟出口完成. 出口恢复正常。 2:34 PM 改变是直播。 ~3:00 PM~工人重启. 3:09 PM 3个等待了3个多小时的出口请求被标记为超时. QQ 3:10 PM QQ 大型导入完成,除了100行中的一部分,平台自动重试. | □ 所受影响 事发时的状态如何? | -- -- -- -- -- -- -- -- -- -- -- -- -- ** 延迟:** 66个商店的132项请求,平均81分钟,最多3小时43分钟。 订单72,详细订单21,钱包11,被废弃的推车6,客户6,审查5,订单准备4,出价券3,其他4.Q. QQ 超时导出 QQ ** 失败 : ** 2 Store QQ 出口请求记录中3项请求. 这些商家需要再次要求出口. | * 出口仍在处理 * **1 请求 * * 出口请求记录。 平台自动重试。 开始大量进口的商店的客户进口** 推迟到下午3点12分:** 9个进口QQ进口记录。 除一个部分外,其他部分全部完成,自动重试。 | QQ 从其他商店的进口 # ** 未受影响 ** # # # # # 在事件期间没有其他 Store 开始导入 QQ * ** 导出文件内容 * ** 不影响 ** * * * 每个文件运行时由活数据构建,所以被延迟的文件是完整的 * * * 店铺、结帐和仪表板 **未受影响** 只有出口和进口的背景工人重新开始工作 □ 采取的行动 1. 找到原因:制造进出口的工人正在重新开始,因为进口完成检查没有记忆。 2. 运输了代码级更改:完成检查计数待处理部件,并将总数加入数据库,而不是加载每个部件。 旧行为测试失败,新行为通过. 3. 确认延迟出口已经完成,并确定了3项超时请求,以便支持这些商家再次提出请求。 □ 结论 ** 一个商家的进口不应阻碍其他商店的出口。 ** 出口和进口都拥有同样的工人,因此严重的进口延误了每个人。 变化去除此因. ** 每部分运行一次的工作不得随着整个进口的大小而增加。 ** 完成检查在每个部分后读取整个导入 。 这对典型的进口来说是罚款的,而且只对非常大的进口来说是失败的。 随着变化,这种大小的导入不再使工人的记忆耗尽.
自动翻译自官方事件更新。