You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GraphQL metrics temperature query spins up all array disks #2017
I have tested this issue by accessing my server directly (not through a reverse proxy)
This is not an Unraid Connect related issue (if it is, please submit via the support form instead)
Issue Description
Calling the metrics GraphQL query to fetch temperature data triggers a spin-up of all array disks. The first request after disks have spun down takes ~5 seconds to respond because it waits for every disk to spin up. Subsequent requests are fast since the disks are already active.
This affects any application that polls temperature data periodically (e.g., monitoring dashboards), as each poll cycle causes unnecessary disk spin-ups, increasing wear, power consumption, and noise.
Steps to Reproduce
Ensure all array disks are in a spindown (sleep) state.
Execute the following query against the GraphQL API:
query {
metrics {
temperature {
summary {
average
hottest { name, current { value, status } }
}
}
}
}
Observe that the response takes several seconds and all array disks spin up during the request.
Expected Behavior
Temperature data comes from hardware sensors (e.g., lm-sensors, /sys/class/thermal/) and should be completely independent of array disk I/O. The query should return quickly regardless of whether disks are spun down.
Actual Behavior
All array disks are woken up during the temperature query. The first request after spin-down takes approximately 5 seconds to complete, as it waits for every disk to spin up before returning a response.
Additional Context
Questions:
Does the temperature endpoint iterate over array disks for some reason? Could it use a sensor-only path that
doesn't trigger disk access?
Is there a way to fetch temperature data without waking disks (e.g., reading from a cached value or a daemon that polls sensors independently)?
I opened #2091 to fix this (Work Intent: #2090). The disk list for temperatures came from systeminformation's diskLayout(), which runs smartctl on every disk without -n standby. The PR lists disks with lsblk instead. On my server with five spun-down HDDs, a temperature read went from ~50 s with all disks spun up to ~70 ms with none.
Activity
tirthpatell commentedon Sep 23, 2026
I opened #2091 to fix this (Work Intent: #2090). The disk list for temperatures came from
systeminformation'sdiskLayout(), which runssmartctlon every disk without-n standby. The PR lists disks withlsblkinstead. On my server with five spun-down HDDs, a temperature read went from ~50 s with all disks spun up to ~70 ms with none.fix(api): stop temperature metrics from spinning up array disks (#2091)