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
Address issues related to the Web Connectivity 0.5 rollout #180
Web Connectivity 0.5 was rolled out on August 18th 2026 to all probes.
We started looking at the measurement data comparing the agreements of the fastpath analysis (i.e. the probe analysis) with that of the new pipeline (analysis_web_meausurement table), to identify differences.
To do this we divided measurements into 4 stratums:
S00 -> both analysis agree with it not being blocked
As we can see the distributions are quite similar across the stratums.
We then examined for when web_connectivity was first deployed: {"start_time": "2026-08-19", "end_time": "2026-08-20"}
cnt
strata
perc
476190
S01
29.4918
118238
S11
7.32282
28106
S10
1.74068
992118
S00
61.4447
As we can see the distribution is very skewed towards S01, which suggests the analysis_web_measurement believes measurements to be much more blocked than the probe.
We identified the source of the DNS related bugs to be that web_connectivity 0.5 includes in the DNS resolutions also the CNAME.
Since the data pipeline tries to determine consistency by either trying to find the address in control (which doesn't lookup CNAMES) or looking at TLS consistency results (which are keyed by IP), we get a mismatch.
we can see how doh failed and the AAAA lookup produced a dns_no_answer error. These are both problematic from the perspective of analysis, as:
The doh failure indicates that DNS over HTTPS itself might be blocked, not that the target domain is filtered
The quad-A lookup produces no answers, likely because there is no quad-A record configured for this domain. This would not normally be considered a failure in the case of getaddrinfo since it combines both quad-A and A lookups in the same answer.
Because of these issues we are going for the time being to ignore every DNS answer that does not have dns_engine=getaddrinfo|system, see: #179
In the future we might change this if we come up with a better way of capturing these analysis results in here.
After having merged #179 the breakdowns look like the following:
cnt
strata
perc
74683
S01
4.625
108297
S11
6.70666
38068
S10
2.35749
1393720
S00
86.3109
It's still a bit far from the original breakdowns, but it's a significant improvement. There are probably more bugs lurking in the DNS sub-strata as seen here:
Activity
hellais commentedon Aug 21, 2026
We identified the source of the DNS related bugs to be that web_connectivity 0.5 includes in the DNS resolutions also the CNAME.
Since the data pipeline tries to determine consistency by either trying to find the address in control (which doesn't lookup CNAMES) or looking at TLS consistency results (which are keyed by IP), we get a mismatch.
This was fixed here: 716cb99
We then performed a backfill and recomputed the stratum, which now look like this:
S01has gone down, but not so much yet.Therefore we breakdown the
S01stratum into the kind of blocking that it detected, finding the following:As we can see the most common source is that the DNS query fails on the probe, yet the control says it's ok. Sampling some measurement we can see what this behaviour looks like. For example in the following measurement: https://explorer.ooni.org/m/20260819122252.565771_RO_webconnectivity_011c98d67eae59a9
we can see how
dohfailed and theAAAAlookup produced adns_no_answererror. These are both problematic from the perspective of analysis, as:dohfailure indicates that DNS over HTTPS itself might be blocked, not that the target domain is filteredBecause of these issues we are going for the time being to ignore every DNS answer that does not have
dns_engine=getaddrinfo|system, see: #179In the future we might change this if we come up with a better way of capturing these analysis results in here.
hellais commentedon Aug 21, 2026
After having merged #179 the breakdowns look like the following:
It's still a bit far from the original breakdowns, but it's a significant improvement. There are probably more bugs lurking in the DNS sub-strata as seen here: