huangzd1997
|
143ad3f6da
|
progress 79
|
2026-08-30 22:23:46 +08:00 |
|
huangzd1997
|
ba17e34b84
|
task-79: 为对象存储、数据库和队列增加故障注入测试
|
2026-08-30 22:23:33 +08:00 |
|
huangzd1997
|
42bbf4904e
|
feat-admin-ui-interaction
Build Backend JAR / build (push) Has been cancelled
|
2026-08-30 22:09:22 +08:00 |
|
huangzd1997
|
2b613a8e5a
|
progress 78
|
2026-08-30 22:01:15 +08:00 |
|
huangzd1997
|
4c70ca4101
|
task-78: 为所有外部调用增加耗时、重试、失败率和 payload 字节指标
新增 ExternalCallMetricsRecorder:通过 RestClient 拦截器统一记录
aiimage.external-call.duration(耗时)、aiimage.external-call.total
(失败率)、aiimage.external-call.payload.bytes(请求字节)与
aiimage.external-call.retry.total(重试次数);Coze/品牌检查/紫鸟
三个外部客户端全部接入,指标注册表缺失时静默降级,不改变调用语义。
|
2026-08-30 22:01:02 +08:00 |
|
huangzd1997
|
f1d1fe5c78
|
progress 77
|
2026-08-30 21:08:32 +08:00 |
|
huangzd1997
|
39e52858d1
|
task-77: 统一 Coze、品牌检查和紫鸟 HTTP 客户端的连接复用策略
|
2026-08-30 21:08:28 +08:00 |
|
huangzd1997
|
678ba57347
|
progress 76
|
2026-08-30 20:51:14 +08:00 |
|
huangzd1997
|
04f45bebec
|
task-76: JSON owner 查询迁移到显式列并补充任务/状态复合索引
|
2026-08-30 20:51:07 +08:00 |
|
huangzd1997
|
e9ba3689ba
|
progress 75
|
2026-08-30 20:39:35 +08:00 |
|
huangzd1997
|
6a4a115260
|
task-75: 虚拟线程任务等待队列上限与拒绝/延迟指标
|
2026-08-30 20:39:31 +08:00 |
|
huangzd1997
|
ba163aa4bd
|
progress 74
|
2026-08-30 20:31:43 +08:00 |
|
huangzd1997
|
5105ca95c5
|
task-74: 隔离调度线程池、文件作业线程池和外部 Coze/图片执行池
|
2026-08-30 20:31:39 +08:00 |
|
huangzd1997
|
adf0a5ff73
|
progress 73
|
2026-08-30 20:23:09 +08:00 |
|
huangzd1997
|
ec9811c8a5
|
task-73: 本地文件作业队列 in-flight 去重和队列背压
|
2026-08-30 20:22:58 +08:00 |
|
huangzd1997
|
f190896ea7
|
progress 72
|
2026-08-30 20:01:22 +08:00 |
|
huangzd1997
|
baa43d80ba
|
task-72: 文件作业数据库原子 claim,避免重复派发同一 job
|
2026-08-30 20:01:18 +08:00 |
|
huangzd1997
|
c07e26a400
|
progress 71
|
2026-08-30 19:53:50 +08:00 |
|
huangzd1997
|
6f32ed86e4
|
task-71: 清理日志改为数量与 sample ID,禁止输出超长任务 ID 列表
|
2026-08-30 19:53:49 +08:00 |
|
huangzd1997
|
f48407ec7e
|
progress 70
|
2026-08-30 19:49:03 +08:00 |
|
huangzd1997
|
9de4603484
|
task-70: 历史清理改为 keyset 分页、小批量和短事务
|
2026-08-30 19:48:59 +08:00 |
|
huangzd1997
|
fb090bf80d
|
progress 69
|
2026-08-30 19:30:01 +08:00 |
|
huangzd1997
|
5749a421cb
|
task-69: 历史清理任务收集 transient payload 指针并提交删除队列
|
2026-08-30 19:29:32 +08:00 |
|
huangzd1997
|
54260551ee
|
progress 68
|
2026-08-30 19:13:47 +08:00 |
|
huangzd1997
|
2de58b7afc
|
task-68: payload 引用删除改为批量引用检查与异步物理删除
- 新增 TransientPayloadDeleteOrchestrator:提交去重入队(maxPendingDeletes 上限),
flush 时一次性 IN 批量反查 biz_task_chunk / biz_task_scope_state,
未引用对象交由后台线程池异步物理删除(剥 rustfs: 前缀)
- 幂等:重复提交只入队一次;保守:查询失败整批保留可重试,不误删
- 空值/非指针忽略,本地/OSS 指针不在批量删除范围(各有归属与清理路径)
|
2026-08-30 19:13:43 +08:00 |
|
huangzd1997
|
45b23b559c
|
progress 67
|
2026-08-30 19:04:37 +08:00 |
|
huangzd1997
|
2819fb3c6c
|
task-67: 复用 RustFS/MinIO 客户端与 HTTP 连接池
- buildClient 改为 double-check 懒加载缓存共享 MinioClient(volatile 单例),
同一实例持有同一 OkHttpClient,连接池随实例共享,不再每次操作新建客户端
- supplier 注入路径优先且不写共享缓存,测试隔离不受污染
- 未配置/空白 endpoint 时不创建实例,拒绝操作并保持缓存为空
|
2026-08-30 19:04:32 +08:00 |
|
huangzd1997
|
f15d2e1c22
|
progress 66
|
2026-08-30 18:57:31 +08:00 |
|
huangzd1997
|
e2d6875ef9
|
task-66: 限制 RustFS 并发读写与重试的总资源预算
- 新增 aiimage.transient-storage.max-total-concurrent-operations 配置
(默认 0 不启用):跨 upload/read/delete 的总并发预算
- executeWithRetry 入口获取一个总许可,整次操作(含全部重试)全程占用,
重试不额外消耗,超预算立即拒绝并计入 operation=total rejected 指标
- 失败/完成后 finally 释放总许可,无残留锁;负值/0 视为未启用保持原行为
|
2026-08-30 18:57:26 +08:00 |
|
huangzd1997
|
e377814c48
|
progress 65
|
2026-08-30 18:49:59 +08:00 |
|
huangzd1997
|
9b1978aec8
|
task-65: transient payload 读取流式解压 + 解压后字节上限
- 新增 aiimage.transient-storage.max-decompressed-payload-bytes 配置
(默认 100MB,即 2x 存储上限),覆盖 gzip 二进制与 gzip64 兼容两条路径
- decodeGzipStream 按 8KB 缓冲流式解压,累计输出超过上限立即中止并报错,
防止压缩炸弹(zip bomb)在读取时无界膨胀内存
- 超限错误保留可识别消息(exceeds configured limit),由 resolvePayload 统一包装
|
2026-08-30 18:49:55 +08:00 |
|
huangzd1997
|
4e9c5d242e
|
progress 64
|
2026-08-30 18:42:25 +08:00 |
|
huangzd1997
|
ca32cde4fe
|
task-64: transient payload 压缩改为直接 gzip 二进制流上传
- RustfsObjectStorageService 新增 uploadBytes/readObjectBytes 二进制流 API
(application/gzip),uploadText/readObjectAsString 改为其薄包装
- TransientPayloadStorageService 的 encodeStoredPayload 直接输出 gzip 字节,
不再经过 gzip64 + Base64 文本编码(消除 33% 体积膨胀与中间字符串副本)
- 读取端按 gzip magic 识别二进制流解压;兼容旧 gzip64: 文本与历史裸文本
- 本地回落文件同步改为写二进制(Files.write),超限判定基于 gzip 后字节数
|
2026-08-30 18:42:19 +08:00 |
|
huangzd1997
|
f8e4360482
|
progress 63
|
2026-08-30 18:28:19 +08:00 |
|
huangzd1997
|
9c9b8a6078
|
task-63: 进度快照写入最小更新间隔节流(终态豁免+删除清理跟踪)
|
2026-08-30 18:28:15 +08:00 |
|
huangzd1997
|
a9cee8e9a1
|
progress 62
|
2026-08-30 18:17:55 +08:00 |
|
huangzd1997
|
8d91e599ab
|
task-62: 本地任务实体缓存共享组件(容量 LRU/TTL 即时回收/定时清理)接入 8 模块
|
2026-08-30 18:17:52 +08:00 |
|
huangzd1997
|
dff38a04c7
|
progress 61
|
2026-08-30 18:00:38 +08:00 |
|
huangzd1997
|
8e9c79fc0e
|
task-61: Rustfs 对象存储指标基线验收测试(计数/计时/分布/熔断/拒绝)
|
2026-08-30 18:00:33 +08:00 |
|
huangzd1997
|
7b3feb4b1a
|
progress 60
|
2026-08-30 17:43:20 +08:00 |
|
huangzd1997
|
305b897f2a
|
task-60: 采集模块 10k 行压测验收(结果完整性、内存与吞吐)
10k 行批量 upsert 压测验收:100 批 × 100 行恰好写入 10k 行不丢失不重复(引用 JSON 唯一);
10 chunk 分批提交总批量 SQL 调用次数恒定 100;hash 相等重复提交全跳过零写入(幂等);
batchSize=1 时 10k 次调用每批 1 行(内存受 batchSize 约束不无界累积);null/空白 ASIN
行安全跳过;前 50 批失败跳过后重试收敛到真实行数。collectdata 模块完成。
|
2026-08-30 17:43:13 +08:00 |
|
huangzd1997
|
9ec43e8922
|
progress 59
|
2026-08-30 17:38:26 +08:00 |
|
huangzd1997
|
7147fc464c
|
task-59: 采集模块对象存储与批量 SQL 调用次数验证
deleteHistory 删除历史结果的对象存储调用次数验证:批量 SQL(selectList/delete)调用次数
恒定不随行数增长;RustFS 物理删除按 chunk 引用指针去重后每对象一次(旧格式逐行一次);
空历史零调用、单历史单对象、300 行 100 chunk 恰好 100 次、非法越权拒绝、依赖失败传播后
重试成功无残留。锁定 task-57 引入的去重删除语义在 deleteHistory 路径上的调用次数契约。
|
2026-08-30 17:38:22 +08:00 |
|
huangzd1997
|
8ea1577924
|
progress 58
|
2026-08-30 17:31:27 +08:00 |
|
huangzd1997
|
567cb1ab67
|
task-58: collectdata 结果明细读取失败降级(RustFS 超时跳过该 chunk,不中断其它 chunk)
chunk 级引用读取失败(RustFS 超时/不可用)时降级为跳过该 chunk 的引用行并记录 warn,
结果文件继续生成,缺失行由任务状态可观测;chunk 明细 JSON 损坏仍抛异常(数据问题不降级),
旧格式单行读取失败保持抛异常。失败 chunk 在单次调用内缓存为空哨兵,避免重复 resolve。
task-052 依赖失败测试同步更新为降级语义。
|
2026-08-30 17:31:21 +08:00 |
|
huangzd1997
|
44abcdd4ef
|
progress 57
|
2026-08-30 17:20:05 +08:00 |
|
huangzd1997
|
5bbf601480
|
task-57: 删除任务/历史时先删 DB 行再物理删对象,引用计数反查基于删除后状态,共享对象跳过删除、独占对象真正释放
|
2026-08-30 17:20:00 +08:00 |
|
huangzd1997
|
c0447c908e
|
progress 56
|
2026-08-30 17:06:06 +08:00 |
|
huangzd1997
|
adcfa28af3
|
task-56: 采集结果 Excel 改为临时文件+原子落位,流式写入或落位失败时清理临时文件,目标路径不残留半成品
|
2026-08-30 17:05:56 +08:00 |
|
huangzd1997
|
15269c6ed9
|
progress 55
|
2026-08-30 16:56:20 +08:00 |
|