Skip to content

Latest commit

 

History

History
382 lines (326 loc) · 30.5 KB

CHANGELOG.zh.md

File metadata and controls

382 lines (326 loc) · 30.5 KB

Changelog

0.11.0

  • NV23 网络升级 #1092
  • damocles-manager
    • 移除 ProveCommitSector method #1088
  • damocles-worker
    • 支持以子进程方式启动自定义守护进程. 新增配置项目: [[processors.sealing_daemons]]#1084

0.10.0-rc1

  • 支持 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

    • 修复无法从统一链服务入口获取 piece 文件 #1041
    • 支持在 pc2 完成后校验封装的结果 #1060

v0.9.0

  • damocles-manager
    • 暂时移除 move partition 相关的命令 #1022
    • 新增根据 basefee 启用聚合的功能 #1012
      • 新增配置项 Miners.Commitment.Pre.Batch.BatchCommitAboveBaseFee
    • 简化扇区存储配置 #1010
    • 修复 wait for message, 如果消息失败了则不继续等待消息而是直接返回错误。#1024
    • 优化 wdpost, 允许 worker 向任意状态的任务发送心跳。#1028
  • damocles-worker
    • add_pieces 时判断 piece 文件是否存在的逻辑修改为文件必须存在且为 regular file。#1037

v0.9.0-rc3

  • damocles-manager
    • 修复 precommit 消息 cid 记录失败的问题 #1006

v0.9.0-rc2

  • damocles-worker
    • 修复依赖问题 #1004

v0.9.0-rc1

  • NV21 网络升级

  • Synthetic PoRep 支持, 新增配置项 Miners.Sealing.UseSyntheticPoRep #988

  • damocles-manager

    • worker-prover 模块 cli 修复 MinerID 显示问题 #850
    • 恢复 `util sealer sectors abort`` 命令 #853
    • util storage attach 命令支持自定义 pattern,用于只导入指定的扇区 #963
    • util 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 支持显示封装线程的状态 #886
    • worker 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

v0.8.0-rc1

  • 新增 worker-prover 模块支持多机 wdpost #483

  • damocles-manager

    • 增加从 unseal file 还原 piece 数据的命令行工具 #820
  • damocles-worker

    • cli: damocles-worker worker 子命令不再需要指定配置文件 #809

v0.7.0-rc2

  • damocles-manager
    • 修复 snapdeal 判断目标 CC 扇区是否为时空证明锁定期的 bug #789
    • snapdeal 支持配置不清除原 CC 扇区数据。新增配置 Miners.SnapUp.CleanupCCData #790
    • 修复不配置 market 地址无法启动的 bug #793

v0.7.0-rc1

  • damocles-manager

    • 支持 unseal 任务 #663
    • cli: util sealer sectors state 不再需要添加 --offline flag, damocles-manager 会自动分别从 online 和 offline 数据库中查询扇区信息。#767
    • repo 重命名: venus-cluster -> damocles #5760
    • 新增获取版本号的 rpc 接口。cli util worker list 添加 version 列显示 worker 版本号。#717
    • cli: util actor control list 命令优化输出 #389
  • damocles-worker

    • 支持 unseal 任务 #663
    • local_piece_dirs 支持配置多目录。文档; #713
    • 修复修改 sealing_thread plan 可能会导致释放当前任务的 bug #764
    • 新增获取版本号的 rpc 接口 #717
    • cli: clap 升级到 4.x 版本 #666

v0.6.5

  • docker
    • 安装 tzdata 解决日志时间的时区问题,现在启动容器时增加环境变量 TZ 即可设置时区 (例如: TZ=Asia/Shanghai)。 #752
  • venus-sector-manager
    • 增加日志输出,window post 消息成功上链会打印形如 window post message succeeded: xxx (xxx 为消息签名后的 cid) 的日志。#755
    • 修复 snapup 重试机制与 deadline 锁定期冲突的 bug #744

v0.6.4

  • docker
    • 修复 opencl 驱动安装 #750

v0.6.3

  • venus-sector-manager
    • 提交 precommit 消息时,当 CommD 与链上不一致时,不再直接 abort 扇区,而是暂停封装线程等待人为介入处理 #742
    • 提交 precommit 消息时,如果 precommit 消息执行失败不再直接 abort 扇区,而是暂停封装线程等待人为介入处理 #745

v0.6.2

  • venus-sector-manager
    • 调用新 api ReleaseDeals 释放订单避免重复释放订单 bug #664
    • 修改部分日志的日志级别 debug -> info #738

v0.6.1

  • venus-sector-manager
    • 日志默认级别从 DEBUG 修改为 INFO #719
    • 修复 ProveReplicaUpdates 消息可能在 windowPoST 窗口锁定期提交的 bug #494
    • cli: util sealer sectors extend 使用新版续期方法 ExpirationExtension2 #636
    • 支持从环境变量设置数据和配置目录 #733

v0.6.0

  • 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-beneficiaryutil 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 renewutil sealer sectors renew 命令为 util sealer sectors extend,新增 --max-sectors flag 用于控制每条 extend 消息中包含的扇区数量上限,新增 --only-cc flag 用于控制是否只扩展 cc 扇区。 #582
  • venus-worker

    • 外部执行器子进程意外退出支持自动重启,参考配置文档 (processors.{stage_name}.auto_restart) #605
    • vsm 的 rpc 地址支持配置域名。 #661
    • 升级算法库 rust-fil-proofs 到 v12.0。 #490
    • 升级 rust-toolchain 1.60.0 -> 1.67.1。#380
  • 其他

    • 新增 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

v0.5.0

  • venus-sector-manager

    • MongoDB 数据库支持。文档 #323

    • metrics 支持。 文档 [#339]

    • Poster 改造:

      • Poster 重构,支持多 miner、多 deadline、多 partition 并行 [#136]
      • 支持配置 GasOverPremium, feecapmaxfee. 具体参考配置文档 [#337]
      • 限制单条消息 recover 扇区的数量 增加 MaxRecoverSectorLimit 配置项, 参考配置文档 [#364]
    • 支持本地 solo 模式的 market [#357], [#361]

    • 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]
    • 杂项:

      • 跟踪消息上链逻辑增加状态为 ReplaceMsg 的消息处理 [#435]
      • 引入 venus v1.6.1; 引入 filecoin-ffi 内存泄漏修复后的版本; 引入 lotus v1.17.0 并进行兼容性修复 #331
  • venus-worker

    • 支持扇区重建功能。文档 [#362]

    • sealing_thread 配置热更新支持。文档

    • 优化 add_piece, 包括:

      • 新增 add_pieces 外部执行器。 目的是为了进行并发控制, 避免所有的 add_pieces 同时启动,导致内存不足。配置文档([[processors.add_pieces]] & processors.limitation.concurrent.add_pieces) [#403]
      • add piece 算法优化, 大幅减少 add 超大 Piece 文件的内存使用。[#415]
      • worker 支持加载本地 piece 文件。配置文档(worker.local_pieces_dir 配置项) [#444]
    • PC1 大页内存支持。文档

    • CLI 相关:

      • sealing_thread 列表新增 plan 列。 venus-worker worker list,显示 sealing_thread 的 plan 信息 [#428]
    • 杂项:

      • vc-processors 优化日志输出。[#348]
      • 移除过大尺寸的日志。[#417]
      • 修复 venus-worker-util hwinfo 报错 segmentation fault. [#341]
      • 减少不必要的数据库写入操作

v0.4.0-rc1

  • venus-sector-manager

    • 支持为 SP 设置最小扇区序号,并可以实时生效,用以替代仅能在第一次分配时生效的 InitNumber 配置项
    • 修复使用 bufio.Scanner 带来的,在交互数据量较大时,无法正常与外部处理器通信的问题
    • 启用 jsonrpc 客户端的自动重试机制
    • 修复 util miner infoMultiaddr 显式乱码的问题
    • 修复重复执行 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]] 中的 AllowMinersDenyMiners 配置项
      • 增加 [[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

v0.3.1

  • venus-sector-manager:
    • 支持用于调节 PoSt 环节消息发送策略的 MaxPartitionsPerPoStMessageMaxPartitionsPerRecoveryMessage 配置项

v0.3.0

  • venus-sector-manager:
    • 适配和支持 nv16
    • 对于一些特定类型的异常,返回特殊结果,方便 venus-worker 处理:
      • c2 消息上链成功,但扇区未上链 #88
      • 对于能够确定感知到 ticket expired 的场景,直接终止当前扇区 #143
      • 对于通过 venus-sector-manager 终止的扇区,或因其他原因缺失扇区状态信息的情况,直接终止当前扇区 #89
    • 升级 go-jsonrpc 依赖,使之可以支持部分网络异常下的重连 #97
    • 支持新的可配置策略:
      • 各阶段是否随消息发送 funding #122
      • SnapUp 提交重试次数 #123
    • 支持可配置的 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
    • 支持新的订单填充逻辑:
      • 禁止cc扇区 #161
      • min_used_space #183
    • 日志输出当前时区时间 #87
    • 配置调整:
      • 废弃 [processors.limit] 配置块,替换为 [processors.limitation.concurrent] 配置块
      • 新增 [processors.limitation.staggered] 配置块
      • 新增 [[processors.{stage name}]] 中的 weight 配置项
      • 新增 [sealing] 中的 min_deal_space 配置项
      • 新增 [sealing] 中的 disable_cc 配置项
  • 工具链:
    • 支持 cuda 版本编译
  • 文档:
  • 其他改善和修复

v0.2.0

  • 支持 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-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_filecache_dir 中目标文件的存在性
    • 其他改善和修复

v0.1.2

  • 一些为 SnapUp 支持提供准备的设计和实现变更
  • util storage attach 新增 --allow-splitted 参数, 支持 sealed_filecache_dir 不处于同一个持久化存储实例中的场景 参考文档 06.导入已存在的扇区数据.md#sealed_file-与-cache_dir-分离
  • 开始整理 Q&A 文档
  • 添加针对本项目内的组件的统一版本升级工具

v0.1.1