-
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 Chanllenge 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-secotr-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]] 项
- 新增 [attched_selection] 块,提供
enable_space_weighted
项,用于启用以剩余空间为权重选择持久化存储的策略,默认不启用
- venus-secotr-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
的更新 -
调整和统一日志输出格式
-
其他改善和修复