Commit aea7af9
committed
fix(federation): drop non-dict entries in PeerRegistry.get
A peer returning a registry list with a stray non-dict entry
(e.g. `[{"name":"foo"}, "junk", 42]`) crashed `aggregate()` at
`dict(e)` with a ValueError. The exception propagated up through
`/registry/global`, 500'ing the response and taking the local hub's
own listings down with it — a direct violation of the module's
'peer failures never block the local response' contract.
Filter non-dict rows out of the returned list at the same fetch-boundary
guard that already coerces non-list bodies to empty. Cache stays clean;
aggregate() sees only well-shaped entries.1 parent 21a43c3 commit aea7af9
1 file changed
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
60 | 66 | | |
61 | 67 | | |
62 | 68 | | |
| |||
0 commit comments