Skip to content

Datastream-scoped observation queries return cross-datastream results (observation scope leak) #3

Description

@Sam-Bolling

GET /datastreams/{id}/observations returns observations belonging to other datastreams, identified by mismatched datastream@id values in the response. The contamination affects sibling datastreams under the same system and, in at least one case, crosses system boundaries entirely.

Evidence

System 0420 (AZ-MA-1) has 8 datastreams including:

  • 04c0 — AZ-MA-1 LOB (bearing observations, high volume)
  • 04dg — AZ-MA-1 Detection Capabilities (1 static range config observation)

Querying the detection capabilities datastream:

GET /datastreams/04dg/observations?limit=10

Returns 10 LOB observations — all with datastream@id: "04c0", not "04dg":

id=040t1jkupk32bemg80  datastream@id=04c0  keys=bearingTrue,bearingStdDev,...
id=040tbjkupk32bemg80  datastream@id=04c0  keys=bearingTrue,bearingStdDev,...
(all 10 are LOB data from DS 04c0)

The actual detection range observation exists (verified via GET /observations/040uvjsupk30000000datastream@id: "04dg", minRange_m: 667) but only appears as 1 out of 50 results in a bulk query.

Scope

Queried DS Parent System Foreign DS (datastream@id) Foreign Parent Same System?
04dg (MA-1 Det Caps) 0420 04c0 (MA-1 LOB) 0420 Yes
04e0 (MA-2 Det Caps) 0490 04cg (MA-2 LOB) 0490 Yes
04eg (MA-3 Det Caps) 049g 04f0 (Localizer) 04n0 No

MA-3 contamination crosses system boundaries — DS 04eg (system 049g) returns observations from DS 04f0 (system 04n0).

Contamination is unidirectional: LOB datastreams queried directly return only their own observations.

Impact

  • resultTime=latest on a low-volume DS returns a foreign observation with a later timestamp, making the real data effectively unreachable
  • Detection range rings disappeared 3 times during development because the query consistently returned LOB data instead of range config
  • No error indication — HTTP 200 with valid-looking data; only datastream@id inspection reveals the mismatch

Detailed probe report

OSH_Datastream_Observation_Scope_Leak.md"

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions