Patrick Buckley
2025bf8a6f
perf: reduce initial rebalance from ~1.5s to ~50ms on PostgreSQL ( #334 )
...
* perf: reduce initial rebalance from ~1.5s to ~50ms on PostgreSQL
Increase seed_ring_buckets chunk sizes (PG 500→16k, SQLite 500→8k) to
cut network round-trips from 131 to 5. Add ConsoleRouter.populate_from_assignments()
to build the routing cache directly from computed assignments, eliminating the
65 536-row DB read-back. Router becomes ready in <1ms; DB persistence follows.
* fix: address review — populate after seed write, sync router version
Move router cache population after seed_ring_buckets() so the router
is never "ready" with an unpersisted ring. Pass the new rebalancer
version to populate_from_assignments() so check_version() on the
collector thread does not trigger a redundant 65 536-row refresh.
2026-04-07 00:35:55 -07:00
..
2026-03-02 00:33:37 -08:00
2026-03-23 11:11:40 -07:00
2026-04-01 19:38:24 -07:00
2026-03-10 19:32:37 -07:00
2026-04-01 19:38:24 -07:00
2026-04-06 14:18:02 -07:00
2026-03-13 21:21:09 -07:00
2026-04-04 12:26:10 -07:00
2026-03-29 17:09:17 -07:00
2026-04-05 15:08:21 -07:00
2026-03-13 04:12:46 -07:00
2026-03-30 20:30:05 -07:00
2026-03-23 11:11:40 -07:00
2026-04-04 17:53:20 -07:00
2026-04-06 14:18:02 -07:00
2026-03-30 20:30:05 -07:00
2026-04-07 00:35:55 -07:00
2026-04-01 19:38:24 -07:00
2026-04-06 03:08:19 -07:00
2026-03-13 21:21:09 -07:00
2026-04-04 17:53:20 -07:00
2026-03-02 00:33:37 -08:00
2026-03-23 14:55:14 -07:00
2026-03-03 22:57:34 -08:00
2026-04-04 22:19:03 -07:00
2026-03-23 11:11:40 -07:00
2026-04-02 19:25:57 -07:00
2026-03-30 20:30:05 -07:00
2026-04-04 23:44:29 -07:00
2026-04-03 15:36:20 -07:00
2026-04-05 01:53:33 -07:00
2026-04-05 01:53:33 -07:00
2026-03-23 11:11:40 -07:00
2026-04-06 02:23:00 -07:00
2026-03-31 15:25:55 -07:00
2026-03-04 06:47:30 -08:00
2026-03-02 16:55:12 -08:00
2026-03-24 03:13:23 -07:00
2026-04-04 16:06:42 -07:00
2026-03-15 17:12:13 -07:00
2026-03-12 15:46:00 -07:00
2026-03-12 16:57:31 -07:00
2026-03-21 16:12:50 -07:00
2026-03-20 20:01:26 -07:00
2026-03-23 11:11:40 -07:00
2026-03-15 14:28:03 -07:00
2026-03-13 21:21:09 -07:00
2026-03-28 16:18:12 -07:00
2026-03-29 01:58:08 -07:00
2026-03-30 04:19:24 -07:00
2026-04-04 23:44:29 -07:00
2026-04-06 03:08:19 -07:00
2026-04-06 03:08:19 -07:00
2026-04-06 09:54:03 -07:00
2026-04-05 17:18:26 -07:00
2026-03-07 12:49:07 -08:00
2026-03-17 17:02:25 -07:00
2026-03-23 11:11:40 -07:00
2026-03-21 00:14:46 -07:00
2026-03-07 12:49:07 -08:00
2026-03-23 11:11:40 -07:00
2026-04-05 01:53:33 -07:00
2026-04-04 17:53:20 -07:00
2026-03-31 15:25:55 -07:00
2026-04-06 13:13:38 -07:00
2026-03-03 18:28:39 -08:00
2026-04-07 00:35:55 -07:00
2026-03-29 13:33:58 -07:00
2026-03-30 20:30:05 -07:00
2026-03-29 14:18:39 -07:00
2026-04-05 01:53:33 -07:00
2026-03-02 00:33:37 -08:00
2026-03-02 16:55:12 -08:00
2026-03-10 19:32:37 -07:00
2026-03-23 11:11:40 -07:00
2026-03-30 20:30:05 -07:00
2026-03-02 16:55:12 -08:00
2026-03-30 20:30:05 -07:00
2026-03-12 11:43:06 -07:00
2026-04-04 22:19:03 -07:00
2026-03-30 20:30:05 -07:00
2026-03-03 21:22:24 -08:00
2026-03-04 06:04:59 -08:00
2026-04-04 23:44:29 -07:00
2026-03-30 20:30:05 -07:00
2026-04-06 21:51:47 -07:00
2026-04-06 08:14:18 +02:00
2026-04-05 13:09:36 -07:00
2026-03-14 11:42:18 -07:00
2026-03-17 01:26:44 -07:00
2026-03-17 16:09:06 -07:00
2026-03-31 22:34:24 -07:00
2026-03-17 01:26:44 -07:00
2026-03-23 11:11:40 -07:00
2026-03-16 15:45:21 -07:00
2026-03-17 01:26:44 -07:00
2026-03-28 22:09:52 -07:00
2026-04-04 17:53:20 -07:00
2026-04-06 02:54:34 -07:00
2026-03-23 11:11:40 -07:00
2026-03-30 04:43:49 -07:00
2026-04-01 19:38:24 -07:00
2026-03-31 11:28:39 -07:00
2026-04-01 19:38:24 -07:00
2026-03-25 16:07:05 -07:00
2026-04-06 21:51:47 -07:00
2026-03-30 20:30:05 -07:00
2026-03-12 14:49:58 -07:00
2026-03-17 17:02:25 -07:00
2026-04-04 19:11:07 -07:00
2026-03-29 16:17:48 -07:00
2026-03-23 11:11:40 -07:00
2026-03-28 23:07:47 -07:00
2026-03-23 11:11:40 -07:00
2026-03-10 08:18:28 -07:00
2026-04-05 16:25:53 -07:00
2026-03-23 16:09:03 -07:00
2026-03-15 15:04:22 -07:00
2026-04-06 02:54:34 -07:00
2026-04-04 17:53:20 -07:00