fix: use CASE instead of COALESCE for swapper_state to always update when provided
This commit is contained in:
@@ -3801,7 +3801,9 @@ async def node_heartbeat(
|
||||
|
||||
# Update heartbeat
|
||||
swapper_state = metrics.get("swapper_state")
|
||||
swapper_state_json = json.dumps(swapper_state) if swapper_state else None
|
||||
# Always update swapper_state if provided (even if empty dict)
|
||||
# Use empty JSON object as default if swapper_state is None
|
||||
swapper_state_json = json.dumps(swapper_state) if swapper_state is not None else None
|
||||
|
||||
await pool.execute("""
|
||||
UPDATE node_cache SET
|
||||
@@ -3817,7 +3819,10 @@ async def node_heartbeat(
|
||||
swapper_healthy = COALESCE($9::boolean, swapper_healthy),
|
||||
swapper_models_loaded = COALESCE($10::integer, swapper_models_loaded),
|
||||
swapper_models_total = COALESCE($11::integer, swapper_models_total),
|
||||
swapper_state = COALESCE($12::jsonb, swapper_state)
|
||||
swapper_state = CASE
|
||||
WHEN $12::jsonb IS NOT NULL THEN $12::jsonb
|
||||
ELSE swapper_state
|
||||
END
|
||||
WHERE node_id = $1
|
||||
""",
|
||||
node_id,
|
||||
|
||||
Reference in New Issue
Block a user