[Bug]: Timeseries request times out when unit(s) parameter specified
Open
@krowvin is already working on this.
Since Aug 26, 2026.
bug
priority:blocker
- Dominant language
- Java
- Stars
- 28
- Forks
- 25
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 20
Description
Describe the bug
When the unit or units parameter is specified as a unit like ft the request times out with a 408 error. This was discovered by using shefParser which uses these type requests a lot.
Expected behavior
It should return the data in the requested units.
To Reproduce
In test GET /cwms-data/timeseries?office=MVP&name=Baldhill_Dam.Elev.Inst.15Minutes.0.rev-NGVD29&unit=ft will eventually timeout with a 408.
GET /cwms-data/timeseries?office=MVP&name=Baldhill_Dam.Elev.Inst.15Minutes.0.rev-NGVD29 returns as expected.
Priority
High
Logs/Incident Identifier
ERROR: CDA Error: response=<Response [408]>
WARNING: Skipping time series [Baldhill_Dam.Elev.Inst.15Minutes.0.rev-NGVD29]: error fetching from CDA: CWMS API Error (CDA_SERVER/mvp-data/timeseries?office=MVP&name=Baldhill_Dam.Elev.Inst.15Minutes.0.rev-NGVD29&unit=ft&begin=2026-08-24T11%3A37%3A03.091932&end=2026-08-26T11%3A37%3A03.091932&page-size=300000&trim=True). {"message":"Request is taking too long; try narrowing the date range.","incidentIdentifier":"c8552fee-d73e-4573-b7ba-3147d4c53463","source":"Unknown","details":{}}
(CDA_SERVER/mvp-data/timeseries?office=MVP&name=Baldhill_Dam.Elev.Inst.15Minutes.0.rev-NGVD29&unit=ft&begin=2026-08-24T11%3A37%3A03.091932&end=2026-08-26T11%3A37%3A03.091932&page-size=300000&trim=TrueERROR: CDA Error: response=<Response [408]>
CURL Commands
CDA Version
2026.08.14-testa
Additional context
GPT 5.4 suggests the fix is to keep direct-read, but change the unit handling:
- Treat unit/units as response units, not storage-row filters.
- Resolve EN/SI to a concrete response unit as CDA already does.
- Validate only that native unit -> requested unit is convertible.
- Fetch rows in the series native/source unit.
- Convert VALUE to the requested response unit during query or immediately after fetch.
- Keep the response metadata units field set to the requested unit.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.