Repository navigation
fix(egress): record the observed egress address of each address family - #17326
maxmad64bis wants to merge 1 commit into
Conversation
7da5a2a to
ff7a369
Compare
|
Thanks, this is a careful piece of work: the pure observation/merge helpers, the monotone cache merge and the UI labels all read well, and I ran proxy-echo-dual-family (26/26), 374 related egress/proxy-log/migration tests and the vitest ProxyLogger case on your head, all passing. Two things before it can merge. (1) The new migration changes the SQL file count from 209 to 210, so npm run check:docs-counts fails (70 drifts) and so do check-docs-counts-sync and readme-migration-count-14574: README.md, AGENTS.md, llm.txt and the 66 README mirrors need the count bumped, like #16087 did for 212. (2) #17332 also claims migration slot 213: whichever lands second should renumber to 214 (check:migration-numbering) and bump the count once more. Note the AGENTS.md/llm.txt count hunks need the maintainer's explicit OK because they are agent-instruction files. The rest of the CI run is still in progress; I will re-check it once it finishes. |
|
Thanks for the review — both points are addressed on the new head ( 1. The migration count. 2. The 213 slot. The The same bullet declares the AGENTS.md and llm.txt hunks as agent-instruction files that need your explicit OK. One caveat on the CI: on the new head the run is not conclusive on our side — 26 jobs were stopped or cancelled by the runner and 3 are still queued at GitHub, with no test failure attributable to this PR. A re-run from your side would settle it. |
cf88180 to
c9b5023
Compare
c9b5023 to
430d752
Compare
the egress probe stopped at the first echo target and kept one address, so a log line never said which family it had recorded; the journal path now measures both targets and each line carries the address observed for each family, the reported address always sitting in the column of its own family
430d752 to
990fd08
Compare
Summary
By default the proxy journal now records the observed address of each address family, so a log line shows the IPv4 and the IPv6 address of the tunnel where it used to show one address with no family. The probe stopped at the first echo target that answered, so a dual-stack tunnel showed its IPv6 address and the IPv4 address of the same node stayed out of the journal. The journal path now queries both targets in parallel and stores each address in two new columns,
egress_ip_v4andegress_ip_v6, next to the unchangedegress_ip. Builds on @adevwithpurpose's dual-target proposal from #9694.Related Issues
Target Branch
release/v3.8.xbranch (the highest openrelease/v*), notmainv4-featurelabel for the v4 channelValidation
npm run lintTests Added Or Updated
tests/unit/proxy-echo-dual-family.test.ts(new, 26 cases): both echo targets queried in parallel, the address of each family, the cache merge, the completeness of an observation, the migration and the reconciler.tests/unit/proxy-logger-observed-fields.test.tsx(one case added): the family label and the second observed address in the log detail; no existing assertion changed.Coverage Notes
src/lib/proxyEgress.ts:tests/unit/proxy-echo-dual-family.test.ts.src/lib/proxyEchoTarget.ts:tests/unit/proxy-echo-dual-family.test.ts.src/shared/network/egressAddress.ts:tests/unit/proxy-echo-dual-family.test.ts.src/sse/handlers/proxyJournal.ts:tests/unit/proxy-echo-dual-family.test.ts.src/lib/proxyLogger.ts:tests/unit/proxy-echo-dual-family.test.ts.src/lib/db/schemaColumns.ts:tests/unit/proxy-echo-dual-family.test.ts.src/lib/db/migrations/223_proxy_logs_egress_ip_families.sql:tests/unit/proxy-echo-dual-family.test.ts.src/shared/components/ProxyLogDetail.tsx:tests/unit/proxy-logger-observed-fields.test.tsx.src/shared/components/ProxyLogger.tsx: same shared rule in the egress cell, rendered bytests/unit/proxy-logger-observed-fields.test.tsx.Reviewer Notes
check:docs-countsstays red as it is on the base, on entries this PR does not touch, and no red it introduces.