The routing table in memory now holds every route, so the two per-peer route tables go, with every write, delete, count and read that served them. The prefix handler applies each update to the table, writes the table's changes every second, and stores each new prefix with its first-seen time. The peer delete, its retry on the next flush and the updates held for it go too. The types and errors of the server's answers move to internal/server. The image's memory settings fit a full table of about 1 GB: GOMEMLIMIT of 2.5 GiB, a 512 MiB page cache for the writing connection, and SQLite heap limits of 768 MiB and 1 GiB. The README describes the new table, its database copy and the memory budget. Model: opus-5-5
This commit was merged in pull request #195.
This commit is contained in:
@@ -25,14 +25,23 @@ are measured by a benchmark, not yet on the live feed.
|
||||
|
||||
# Next Step
|
||||
|
||||
Run `next` on the live feed, as README "Running under upaas" describes, for the
|
||||
final check https://git.eeqj.de/sneak/routewatch/issues/96 names: whether the
|
||||
prefix handler still drops updates after the first hour. If it does, a new issue
|
||||
Run `next` on the live feed, as README "Running under upaas" describes, until
|
||||
the routing table stops growing. Post its size and memory figures on
|
||||
https://git.eeqj.de/sneak/routewatch/issues/122. The same run makes the final
|
||||
check https://git.eeqj.de/sneak/routewatch/issues/96 names: whether the prefix
|
||||
handler still drops updates after the first hour. If it does, a new issue
|
||||
follows with the numbers. Then an audit of the code at the commit that run
|
||||
tested.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-27: the per-peer route tables are gone, with the code that wrote,
|
||||
counted and read them. The prefix handler applies each update to the routing
|
||||
table in memory and writes the table's changes every second. It also stores
|
||||
each new prefix with its first-seen time. The image's memory limits are set
|
||||
for a full routing table of about 1 GB: `GOMEMLIMIT` is 2.5 GiB, the writing
|
||||
connection's page cache 512 MiB, and SQLite's heap limits 768 MiB and 1 GiB
|
||||
(closes #122)
|
||||
- 2026-10-27: the pages, the API and the stats read every route from the routing
|
||||
table in memory. For a prefix with several origin ASes, the IP lookup gives
|
||||
the one most peers carry. Its `last_seen` is the newest kept route's time. The
|
||||
@@ -277,5 +286,4 @@ tested.
|
||||
|
||||
# Future Steps
|
||||
|
||||
- the rest of https://git.eeqj.de/sneak/routewatch/issues/122: removing the
|
||||
per-peer route tables
|
||||
None.
|
||||
|
||||
Reference in New Issue
Block a user