首页
/ Harvester项目升级进度显示异常问题分析与修复

Harvester项目升级进度显示异常问题分析与修复

2025-06-14 17:27:54作者:瞿蔚英Wynne

问题概述

在Harvester项目的v1.5.0版本开发过程中,发现了一个影响用户体验的重要问题:当用户触发系统升级后,界面顶部的升级进度指示器无法正常显示。虽然升级过程实际上在后台正常进行并完成,但用户无法通过UI直观地了解升级进度状态,也无法获取升级日志。

问题现象

该问题在多种环境下均可复现:

  • 从v1.4.1升级到v1.5-head版本
  • 从v1.5.0-dev版本升级到v1.5-head版本
  • 在Chrome和Firefox浏览器上均会出现

具体表现为:

  1. 用户触发升级操作后,顶部进度指示器不显示
  2. 刷新页面也无法恢复显示
  3. 控制台出现资源订阅相关的错误信息
  4. 虽然UI不显示进度,但升级过程实际上在后台正常完成

技术分析

通过排查发现,该问题主要与前端UI组件和WebSocket连接管理有关。核心问题点包括:

  1. 资源订阅错误:前端在订阅升级相关资源时出现"name is required"的错误,导致无法正确获取升级状态信息。

  2. WebSocket连接问题:管理集群的watch接口出现HTTP/2流错误,导致事件推送中断。

  3. 状态同步机制失效:由于上述连接问题,前端无法实时获取后端升级状态变化,导致进度指示器无法更新。

解决方案

开发团队通过以下措施解决了该问题:

  1. 前端错误处理增强:完善了资源订阅的错误处理逻辑,确保在参数缺失时能够优雅降级。

  2. 连接稳定性改进:优化了WebSocket连接管理机制,增加了重试逻辑和错误恢复能力。

  3. UI状态同步机制:重构了升级状态同步流程,确保在各种异常情况下都能正确显示升级进度。

  4. 日志下载功能:修复了日志下载功能,确保用户能够获取完整的升级日志。

验证结果

修复后的版本(v1.5.0-rc1)经过严格测试,确认:

  • 升级进度指示器能够正常显示
  • 升级状态实时更新准确
  • 日志下载功能工作正常
  • 升级完成后的状态显示完整

影响范围与后续工作

该问题被标记为严重级别(severity/1),因为直接影响用户对升级过程的监控能力。修复方案不仅应用于v1.5.0版本,还向后移植到v1.4.3版本,确保旧版本用户也能获得修复。

对于系统管理员而言,这一修复显著提升了升级过程的可观测性,使运维工作更加直观可靠。开发团队也借此机会完善了前端错误处理机制,为系统稳定性打下了更好基础。

登录后查看全文
热门项目推荐