Context
Investigating an external report claiming broken dimension codelists on ISTAT. That specific claim was debunked (CL_TIPO_DATO7 does contain the air transport codes FLIGHT/PASS/PAX/PDI/PEM/PATR — the report misread a shared codelist). But two real ISTAT-side issues showed up while verifying, on the same day (2026-07-06):
Observed
-
121_331 (Trasporto aereo, datastructure DCSC_INDTRAEREO, 8 dimensions)
opensdmx info 121_331 --provider istat → Could not fetch bulk constraints at catalog time: The read operation timed out
- Every
opensdmx get 121_331 ... attempt → HTTP 500, even filtered to DATA_TYPE=PASS + REF_AREA=IT + explicit period. Likely the remaining wildcard cross-product (airports × service type × nation vector × country) is still too large for ISTAT to serve.
-
41_269_DF_DCIS_INCIDENTISTR1_1 (road accidents — the known-good dataflow used in scripts/monitor_latency.py)
opensdmx get 41_269_DF_DCIS_INCIDENTISTR1_1 --start-period 2022 --end-period 2023 --last-n 1 -y → HTTP 500 on datastructure/ALL/DCIS_INCIDENTISTR1
- This dataflow is normally reliable (it's our latency-monitor canary), so this may indicate general ISTAT-side degradation that day rather than something specific to
121_331.
Why it matters
availableconstraint timeouts on ISTAT are already known (see 09f9009 fix(monitor): skip constraints for istat), but this is the first time we've seen the data endpoint itself return 500 on a previously-reliable dataflow.
To verify
Context
Investigating an external report claiming broken dimension codelists on ISTAT. That specific claim was debunked (
CL_TIPO_DATO7does contain the air transport codesFLIGHT/PASS/PAX/PDI/PEM/PATR— the report misread a shared codelist). But two real ISTAT-side issues showed up while verifying, on the same day (2026-07-06):Observed
121_331(Trasporto aereo, datastructureDCSC_INDTRAEREO, 8 dimensions)opensdmx info 121_331 --provider istat→Could not fetch bulk constraints at catalog time: The read operation timed outopensdmx get 121_331 ...attempt →HTTP 500, even filtered toDATA_TYPE=PASS+REF_AREA=IT+ explicit period. Likely the remaining wildcard cross-product (airports × service type × nation vector × country) is still too large for ISTAT to serve.41_269_DF_DCIS_INCIDENTISTR1_1(road accidents — the known-good dataflow used inscripts/monitor_latency.py)opensdmx get 41_269_DF_DCIS_INCIDENTISTR1_1 --start-period 2022 --end-period 2023 --last-n 1 -y→HTTP 500ondatastructure/ALL/DCIS_INCIDENTISTR1121_331.Why it matters
availableconstrainttimeouts on ISTAT are already known (see09f9009 fix(monitor): skip constraints for istat), but this is the first time we've seen the data endpoint itself return 500 on a previously-reliable dataflow.To verify
121_331-specific issue (query too broad).121_331reproducibly 500s even on narrow queries, check whether a minimal single-series query (single airport + single service type) succeeds — to confirm it's a cross-product size issue and not a dataflow-specific server bug.41_269_DF_DCIS_INCIDENTISTR1_1keeps failing, checkoutput/latency.jsonlfor a pattern before opening a report to ISTAT.HTTP 500when a query's cross-product is likely too large for ISTAT to serve.