debug
This commit is contained in:
@@ -72,6 +72,19 @@ def _build_multi_region_readiness(
|
||||
warning_issues: list[str] = []
|
||||
info_items: list[str] = []
|
||||
|
||||
online_pairs = {
|
||||
(
|
||||
str(node.get("region") or "").strip(),
|
||||
str(node.get("role") or "").strip(),
|
||||
)
|
||||
for node in nodes
|
||||
if str(node.get("status") or "") in {"online", "busy"}
|
||||
}
|
||||
critical_stale_nodes: list[str] = []
|
||||
redundant_stale_nodes: list[str] = []
|
||||
critical_offline_nodes: list[str] = []
|
||||
redundant_offline_nodes: list[str] = []
|
||||
|
||||
if online_control_nodes <= 0:
|
||||
blocking_issues.append("当前没有在线控制面节点,无法视为正式可用集群。")
|
||||
|
||||
@@ -89,12 +102,33 @@ def _build_multi_region_readiness(
|
||||
if online_worker_nodes <= 0:
|
||||
warning_issues.append("当前没有在线 Worker 节点,检测任务无法在多机状态下继续推进。")
|
||||
|
||||
offline_nodes = list(summary.get("offline_nodes") or [])
|
||||
stale_nodes = list(summary.get("stale_nodes") or [])
|
||||
if stale_nodes:
|
||||
warning_issues.append(f"存在失活节点: {'、'.join(stale_nodes)}")
|
||||
if offline_nodes:
|
||||
warning_issues.append(f"存在离线节点: {'、'.join(offline_nodes)}")
|
||||
for node in nodes:
|
||||
node_status = str(node.get("status") or "").strip()
|
||||
if node_status not in {"stale", "offline"}:
|
||||
continue
|
||||
node_code = str(node.get("node_code") or "").strip()
|
||||
node_region = str(node.get("region") or "").strip()
|
||||
node_role = str(node.get("role") or "").strip()
|
||||
metadata = node.get("metadata") or {}
|
||||
replaced_by_online_peer = (node_region, node_role) in online_pairs
|
||||
redundant = replaced_by_online_peer and (
|
||||
node_role == "control"
|
||||
or not bool(node.get("is_effective_worker", False))
|
||||
or str(metadata.get("service") or "") == "runtime-ingest"
|
||||
)
|
||||
if node_status == "stale":
|
||||
(redundant_stale_nodes if redundant else critical_stale_nodes).append(node_code)
|
||||
else:
|
||||
(redundant_offline_nodes if redundant else critical_offline_nodes).append(node_code)
|
||||
|
||||
if critical_stale_nodes:
|
||||
warning_issues.append(f"存在失活节点: {'、'.join(critical_stale_nodes)}")
|
||||
if critical_offline_nodes:
|
||||
warning_issues.append(f"存在离线节点: {'、'.join(critical_offline_nodes)}")
|
||||
if redundant_stale_nodes:
|
||||
info_items.append(f"存在历史失活节点(已被在线同类节点覆盖): {'、'.join(redundant_stale_nodes)}")
|
||||
if redundant_offline_nodes:
|
||||
info_items.append(f"存在历史离线节点(已被在线同类节点覆盖): {'、'.join(redundant_offline_nodes)}")
|
||||
|
||||
failed_batches = int(batch_states.get("failed", 0) or 0)
|
||||
projected_batches = int(batch_states.get("projected", 0) or 0)
|
||||
|
||||
Reference in New Issue
Block a user