- NV23 网络升级 #1092
- damocles-manager
- 移除 ProveCommitSector method #1088
- damocles-worker
- 支持以子进程方式启动自定义守护进程. 新增配置项目:
[[processors.sealing_daemons]]
#1084
- 支持以子进程方式启动自定义守护进程. 新增配置项目:
-
支持 NV22 DDO #1071
-
damocles-manager
- 支持导入导出 JSON 格式的扇区状态数据 #1072
- wdpost worker prover 模式,不允许向已完成的任务发送心跳 #1056
- 支持配置多个 sender 地址,选择其中一个有效的且余额最多的地址作为发送地址 #1045
- 修复对 core.SealerCliAPIClient 错误的依赖注入,导致 damocles-manager 代理模式无法正常启动 #1047
- 修复配置多个 Name 为空的 PersistStores 时启动报错的 bug #1046
- 修复 terminal batch 时缺少对 enable batch 的检查的问题 #1044
- 修复 snapup 移除旧扇区文件报错 #1040
- unseal 命令默认去掉 padding #1026
-
damocles-worker
- damocles-manager
- damocles-worker
- add_pieces 时判断 piece 文件是否存在的逻辑修改为文件必须存在且为 regular file。#1037
- damocles-manager
- 修复 precommit 消息 cid 记录失败的问题 #1006
- damocles-worker
- 修复依赖问题 #1004
-
NV21 网络升级
-
Synthetic PoRep 支持, 新增配置项
Miners.Sealing.UseSyntheticPoRep
#988 -
damocles-manager
- worker-prover 模块 cli 修复 MinerID 显示问题 #850
- 恢复 `util sealer sectors abort`` 命令 #853
util storage attach
命令支持自定义 pattern,用于只导入指定的扇区 #963util worker wdpost list
命令支持显示证明的扇区数量 #929- 增强
util sealer sectors abort
命令, 现在允许在 manager 侧直接 abort 扇区并且不会产生副作用。#737 - 修复 wdpost 重复分配任务的 bug #877
- snapdeal 分配订单根据扇区的过期时间筛选, 避免分配到生命周期不匹配的订单 #885
- 生成 windowpost 任务和封装提交扇区文件时,非严格模式不再检查扇区文件大小,只检查文件是否存在 #924
- 修复外部执行器模式 windowpost "Invalid commitment" 的 bug #943
- 模拟 windowpost 支持设置自定义 challenge #976
- 内置 badger 数据库支持自动清理, 大幅减少数据库磁盘占用 #971
- windowpost 任务中读取文件添加超时机制,避免文件系统故障导致 manager hang 住, 使得整个 deadline 的 partition 都证明失败。#728
-
damocles-worker
worker list
支持显示封装线程的状态 #886worker list
新增 stage 列,用于显示此封装线程当前正在执行的任务阶段 #886- 修复无法手动设置 sealing 状态的 bug #866
- 修复 resume snapup 封装线程时 treed 链接文件已存在报错的 bug #876
- 支持 pc2 中断运行 #837
- 移除 rpc response 日志 #892
- 修复子进程配置的环境变量无法覆盖父进程环境变量的 bug #887
- docker 暴露端口号修改 17891 -> 17890 #890
- 修复 pc1 设置 cpuset 无效的 bug #904
- transfer 外部执行器支持禁用软链接 #901
- supranational c2 算法支持。 使用
DAMOCLES_WORKER_FEATURES=supra-c2 make build-worker
编译启用此功能 #989 - 新增配置项
processors.{stage}.inherit_envs
用于控制子进程是否继承 worker 的环境变量, 默认为 true 表示继承 worker 环境变量 #917 - 子进程任务分配策略调整: 根据子进程的负载分配任务,使其负载均衡。#915
- worker 支持自动初始化 sealing_thread 目录 #899
-
新增 worker-prover 模块支持多机 wdpost #483
-
damocles-manager
- 增加从 unseal file 还原 piece 数据的命令行工具 #820
-
damocles-worker
- cli: damocles-worker worker 子命令不再需要指定配置文件 #809
- damocles-manager
-
damocles-manager
-
damocles-worker
- docker
- 安装 tzdata 解决日志时间的时区问题,现在启动容器时增加环境变量 TZ 即可设置时区 (例如: TZ=Asia/Shanghai)。 #752
- venus-sector-manager
- docker
- 修复 opencl 驱动安装 #750
- venus-sector-manager
- venus-sector-manager
-
venus-sector-manager
- 插件支持自定义数据库。 #561
- 插件支持自定义注册 jsonrpc 接口。 #595
- daemon 移除
--net
flag, 自动获取网络参数 #574 - 禁用
util sealer sectors abort
abort 扇区命令 #660 - cli
util miner info
支持打印受益人地址 #418 - cli
util sealer actor withdraw
新增--beneficiary
flag 用于支持受益人体现。 #546 - cli 新增
util sealer actor propose-change-beneficiary
和util sealer actor confirm-change-beneficiary
命令用于支持增加收益人。 #546 - 支持手动发送 recover 消息。 #382
- 支持手动设置扇区状态为 finalize。 #657
- cli 新增移除过期 worker 的命令。 #493
- 支持 lotus-miner 与 vsm 相互切换。参考文档。 #625
- cli
util sealer proving
输出信息调整优化。 #568 - wdpost 扇区检查并发与超时设置。参考文档。 #532
- 修改 submitpost 的逻辑,变成做完即发送的模式。方便监控和处理 windowpost过程中的意外情况。#590
- cli 合并
util sealer sectors renew
和util sealer sectors renew
命令为util sealer sectors extend
,新增--max-sectors
flag 用于控制每条 extend 消息中包含的扇区数量上限,新增--only-cc
flag 用于控制是否只扩展 cc 扇区。 #582
-
venus-worker
-
其他
- 新增 Dockerfile。#659
- 已合并到 v0.4 和 v0.5 的 bug 修复
- 消息聚合 bug 修复 #639
- 修复订单释放 bug #602
- 修改 cli list sector 中对于不存在 laststate 的结构的扇区不输出其他信息的 bug #551
- 修改 snapup 对于消息处理和可重试错误的逻辑,在遇到 outofgas 或者钱不足等问题时自己进行重试 #545
- 修复 mongodb 删除数据的 bug #548
- 修复 WindowPoS 无法识别部分错误扇区的 bug #535
- 修复 Terminate Sector 消息 failed 不能正确退出监听的问题 #507
- 修复在开启消息聚合消息,同时关闭从ctrl地址发送质押,生成消息时,没有包含扇区的问题 #510
- 修复 SnapUp 没有正确处理 errormsg 的问题 #524
- 修复 venus-worker 配置 enable_deals=false 时触发的 bug #501
-
venus-sector-manager
-
Poster 改造:
-
CLI 相关:
- proving deadline 相关显示优化 [#365]
- 原内嵌数据库 badger 中数据迁移到 mongodb 的工具支持。
venus-sector-manager util migrate-badger-mongo
- 支持验证扇区文件内容
venus-sector-manager util sealer proving --miner <miner_id> check --slow <deadlineIdx>
[#430] - sealing_thread 列表新增 plan 列。
venus-sector-manager util worker info <worker instance name or address>
,显示 sealing_thread 的 plan 信息 [#428] - 增加从 lotus-miner 导入扇区详细数据的工具
venus-sector-manager util sealer sectors import
[#327]
-
杂项:
-
venus-worker
-
venus-sector-manager
- 支持为
SP
设置最小扇区序号,并可以实时生效,用以替代仅能在第一次分配时生效的InitNumber
配置项 - 修复使用
bufio.Scanner
带来的,在交互数据量较大时,无法正常与外部处理器通信的问题 - 启用
jsonrpc
客户端的自动重试机制 - 修复
util miner info
中Multiaddr
显式乱码的问题 - 修复重复执行
daemon init
覆盖已存在的配置文件的问题 - 增加 winning post 的预热功能
- 优化 SnapUp 任务流程,包括:
- 支持根据候选扇区生命周期筛选订单(需要 venus-market 相应版本支持)
- 改善终止 SnapUp 任务时的清理
- 完善 SnapUp 任务完成时的旧扇区数据清理
- 优化封装任务流程,包括:
- 完善对于无法获取扇区信息记录的场景的处理
- 改善手动 Abort 的扇区任务的处理
- 针对 SysErrOutOfGas 类信息特殊处理
- 重构持久化存储管理,包括:
- 将持久化存储分配和管理逻辑从 venus-worker 上剥离,统一集中到 venus-sector-manager 上
- 通过 golang plugin 的方式支持自定义持久化存储管理
- 存储实例分配支持根据 MinerID 白名单/黑名单执行相应策略
- 修复外部导入的扇区无法 terminate 的问题
- 支持使用外部
winning post
处理器 - CLI 工具相关:
- 调整 扇区列表 子命令,支持输出不同任务类型、活跃和非活跃数据、根据 MinerID 过滤等
- 增加用于输出指定扇区的全量信息的子命令
- 增加查询订单所属扇区的子命令
- 增加用于重发 pre / prove 上链信息的子命令
- 配置调整:
- 增加
[[Common.PersistStores]]
中的AllowMiners
和DenyMiners
配置项 - 增加
[[Common.PersistStores]]
中的Meta
配置项 - 增加
[[Common.PersistStores]]
中的Plugin
配置项 - 增加
[[Common.PersistStores]]
中的ReadOnly
配置项 - 增加
[[Common.PersistStores]]
中的Weight
配置项 - 增加
[[Common.PieceStores]]
中的Meta
配置项 - 增加
[[Common.PieceStores]]
中的Plugin
配置项 - 增加
[[Miners.Sector]]
中的MinNumber
配置项
- 增加
- 支持为
-
venus-worker
- 将外部处理器相关代码剥离形成独立的公开库,以方便集成第三方定制算法
- 增加 PoSt 相关的外部处理器类型,供 venus-sector-manager 使用
- 增加数据传输相关的外部处理器类型,以方便集成非文件系统存储方案
- 修复
cgroup
配置生命周期异常的问题 - 支持将与外部处理器交互的数据 dump 成文件,方便 debug
- 引入对应 filecoins-proofs v11 系列版本对应的自定义封装算法,支持 pc1 多核模式下,CPU核与预分配内存基于 numa 区域强绑定,以提升时间表现稳定性
- 配置调整:
[[processors.{stage_name}]]
新增transfer
阶段,配置用于数据传输的外部处理器相关
-
工具链
- 支持在 macOS 上编译
- 提供本机硬件嗅探工具
- 提供封装生产循环计算器
- 提供生成预分配在指定 numa 区域的整块内存文件的工具
-
文档
- 新增关于 venus-worker-util 工具的使用文档
- 新增关于自定义算法和存储方法的概述文档
-
其他改善和修复
详细的 PRs 和 Issues 可以参考 venus-cluster milestone v0.4.0。
- venus-sector-manager:
- 支持用于调节 PoSt 环节消息发送策略的
MaxPartitionsPerPoStMessage
和MaxPartitionsPerRecoveryMessage
配置项
- 支持用于调节 PoSt 环节消息发送策略的
- venus-sector-manager:
- 适配和支持 nv16
- 对于一些特定类型的异常,返回特殊结果,方便 venus-worker 处理:
- 升级
go-jsonrpc
依赖,使之可以支持部分网络异常下的重连 #97 - 支持新的可配置策略:
- 支持可配置的
WindowPoSt Challenge Confidential
#163 - 迁入更多管理命令
- 配置调整:
- 新增 [Miners.Commitment.Terminate] 配置块
- 新增 [Miners.SnapUp.Retry] 配置块
- 新增 [Miners.SnapUp] 中的 SendFund 配置项
- 新增 [Miners.Commitment.Pre] 中的 SendFund 配置项
- 新增 [Miners.Commitment.Prove] 中的 SendFund 配置项
- 新增 [Miners.PoSt] 中的 ChallengeConfidence 配置项
- venus-worker:
- 适配 venus-market 对于 oss piece store 的支持
- 支持指定阶段批次启动 #144
- 支持外部处理器根据权重分配任务 #145
- 支持新的订单填充逻辑:
- 日志输出当前时区时间 #87
- 配置调整:
- 废弃 [processors.limit] 配置块,替换为 [processors.limitation.concurrent] 配置块
- 新增 [processors.limitation.staggered] 配置块
- 新增 [[processors.{stage name}]] 中的 weight 配置项
- 新增 [sealing] 中的 min_deal_space 配置项
- 新增 [sealing] 中的 disable_cc 配置项
- 工具链:
- 支持 cuda 版本编译
- 文档:
- 更多 QA 问答
- 10.venus-worker任务管理
- 11.任务状态流转.md
- 其他改善和修复
-
支持 snapup 批量生产模式
- venus-worker 支持配置
snapup
类型任务 - venus-sector-manager 支持配置
snapup
类型任务 - venus-sector-manager 新增
snapup
相关的命令行工具:util sealer snap fetch
用于按deadline
将可用于升级的候选扇区添加到本地util sealer snap candidates
用于按deadline
展示可用于升级的本地候选扇区数量
- 参考文档:08.snapdeal的支持
- venus-worker 支持配置
-
增强 venus-sector-manager 管理 venus-worker 实例的能力:
- 新增 venus-worker 定期向 venus-sector-manager 上报一些统计数据的机制
- 新增 venus-sector-manager 的
util worker
工具集
-
增强 venus-sector-manager 根据功能拆分实例的能力:
- 新增数据代理模式
- venus-sector-manager 的
util daemon run
新增--conf-dir
参数,可以指定配置目录 - 新增外部证明计算器 (external prover) 的支持
- 参考文档:09.独立运行的poster节点
-
修复 PreCommit/Prove 的 Batch Commit 未使用相应的费用配置的问题
-
其他调整
- venus-worker 的配置调整
- 新增 [[sealing_thread.plan]] 项
- 新增 [attached_selection] 块,提供
enable_space_weighted
项,用于启用以剩余空间为权重选择持久化存储的策略,默认不启用
- venus-sector-manager 的配置调整
- 废弃原 [Miners.Deal] 块,调整为 [Miners.Sector.EnableDeals] 项
- 新增扇区生命周期项 [Miners.Sector.LifetimeDays]
- 新增 [Miners.SnapUp] 块
- 新增 [Miners.Sector.Verbose] 项,用于控制封装模块中的部分日志详尽程度
- venus-sector-manager 的
util storage attach
现在默认同时检查sealed_file
与cache_dir
中目标文件的存在性 - 其他改善和修复
- venus-worker 的配置调整
- 一些为 SnapUp 支持提供准备的设计和实现变更
util storage attach
新增--allow-splitted
参数, 支持sealed_file
与cache_dir
不处于同一个持久化存储实例中的场景 参考文档 06.导入已存在的扇区数据.md#sealed_file-与-cache_dir-分离- 开始整理
Q&A
文档 - 添加针对本项目内的组件的统一版本升级工具
-
外部处理器支持更灵活的工作模式,包含 多任务并发、自定义锁,使用方式参考:
-
调整封装过程中获取
ticket
的时机,避免出现ticket
过期的情况 -
简单的根据剩余空间量选择持久化存储的机制
-
跟进
venus-market
的更新 -
调整和统一日志输出格式
-
其他改善和修复