• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / realtime / 30054561183
90%

Build:
DEFAULT BRANCH: main
Ran 23 Jul 2026 11:58PM UTC
Jobs 1
Files 119
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jul 2026 11:53PM UTC coverage: 90.267%. Remained the same
30054561183

push

github

web-flow
fix: two-phase view adoption for cluster growth (#2035)

     group g routes to:              R  ───────►  T
view {R,S}      view {R,S,T}       (old router)  (new router,
                                                  the node that just joined)
                                                     the node that just joined)

It fix a race where node S learns about the new node T before node R does:

┌──────┬─────────────────────────────────┬────────────────────────────────────┬──────────────────────────────────────┐
│ time │   node S (has a member of g)    │  node R (thinks it's g's router)   │     a broadcast to g right now…      │
├──────┼─────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────┤
│ t0   │ cluster is {R,S}, agrees with R │ :ready, is g's router, table empty │ (nobody holds g yet)                 │
├──────┼─────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────┤
│ t1   │ discovers T → view {R,S,T}      │ still on {R,S} (lagging)           │ —                                    │
├──────┼─────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────┤
│ t2   │ joins g → routes to T           │ still thinks it's g's router       │ —                                    │
├──────┼─────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────┤
│ t3   │ —                               │ still :ready, table still empty    │ routed to R → delivered to nobody ❌ │
└──────┴─────────────────────────────────┴────────────────────────────────────┴──────────────────────────────────────┘

The fix (two-phase view adoption): a node may not start routing joins under
a grown view until it has told its old view's members it is leaving — and they
have acked.

3450 of 3822 relevant lines covered (90.27%)

4465.23 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
81.82
-9.09% lib/realtime/tenants/reconnector.ex
Jobs
ID Job ID Ran Files Coverage
1 30054561183.1 23 Jul 2026 11:58PM UTC 476
58.11
GitHub Action Run
Source Files on build 30054561183
  • Tree
  • List 119
  • Changed 102
  • Source Changed 0
  • Coverage Changed 102
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30054561183
  • 40be3de3 on github
  • Prev Build on main (#30048760807)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc