Skip to content

ISTAT: verify recurring HTTP 500 / constraint timeout on 121_331 and 41_269_DF_DCIS_INCIDENTISTR1_1 #46

Description

@aborruso

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

  1. 121_331 (Trasporto aereo, datastructure DCSC_INDTRAEREO, 8 dimensions)

    • opensdmx info 121_331 --provider istatCould 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.
  2. 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 -yHTTP 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

  • Re-run both queries on a different day to check if it's transient ISTAT degradation vs. a 121_331-specific issue (query too broad).
  • If 121_331 reproducibly 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.
  • If 41_269_DF_DCIS_INCIDENTISTR1_1 keeps failing, check output/latency.jsonl for a pattern before opening a report to ISTAT.
  • Consider whether opensdmx should surface a clearer message than raw HTTP 500 when a query's cross-product is likely too large for ISTAT to serve.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority: mediumMedium priority

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions