dave
e56bd2d834
huskies: merge 877
2026-04-29 22:10:47 +00:00
dave
7e2f122d36
huskies: merge 880
2026-04-29 21:46:12 +00:00
dave
4d24b5b661
huskies: merge 855
2026-04-29 21:41:03 +00:00
dave
a7b1572693
huskies: merge 856
2026-04-29 21:34:58 +00:00
dave
db526bbdb2
huskies: merge 876
2026-04-29 21:20:29 +00:00
dave
c0801c3894
huskies: merge 875
2026-04-29 18:44:50 +00:00
dave
a956a98197
huskies: merge 847
2026-04-29 18:40:08 +00:00
dave
39013be535
huskies: merge 846
2026-04-29 18:24:11 +00:00
dave
320be659c0
huskies: merge 816
2026-04-29 17:57:34 +00:00
dave
02ebf14828
huskies: merge 845
2026-04-29 17:52:27 +00:00
dave
fc86774618
huskies: merge 857
2026-04-29 17:45:51 +00:00
dave
8a42839b37
huskies: merge 820
2026-04-29 17:20:32 +00:00
dave
c84786364a
huskies: merge 874
2026-04-29 17:00:28 +00:00
dave
deffcdc326
huskies: merge 844
2026-04-29 16:29:52 +00:00
dave
8a7e1aa036
huskies: merge 873
2026-04-29 16:11:34 +00:00
dave
9bd3c10a09
huskies: merge 872
2026-04-29 15:59:37 +00:00
dave
7505f7fdeb
huskies: merge 843
2026-04-29 15:54:28 +00:00
dave
7f8467b068
huskies: merge 871
2026-04-29 15:45:54 +00:00
dave
2655288412
huskies: merge 870
2026-04-29 15:26:57 +00:00
dave
db65271587
huskies: merge 842
2026-04-29 15:10:11 +00:00
dave
f3e4d5d072
huskies: merge 869
2026-04-29 14:58:11 +00:00
dave
d1f58094f8
huskies: merge 839
2026-04-29 14:13:34 +00:00
dave
4324fa7511
huskies: merge 838
2026-04-29 13:58:05 +00:00
dave
59b626d3ba
huskies: merge 824
2026-04-29 13:42:58 +00:00
dave
b4854cf693
huskies: merge 862
2026-04-29 13:28:37 +00:00
dave
69930fb29f
huskies: merge 837
2026-04-29 12:06:09 +00:00
dave
186cb38eeb
huskies: merge 836
2026-04-29 11:50:04 +00:00
dave
edeed3d1b6
huskies: merge 861
2026-04-29 11:12:20 +00:00
dave
19a2ffde96
huskies: merge 860
2026-04-29 10:53:39 +00:00
dave
11d111360d
huskies: merge 858
2026-04-29 10:47:18 +00:00
dave
be5db846cc
huskies: merge 835
2026-04-29 10:41:27 +00:00
dave
1ae8e8ec9d
huskies: merge 841
2026-04-29 10:36:03 +00:00
dave
d22a591fdc
huskies: merge 834
2026-04-29 10:12:53 +00:00
dave
0403dc9871
huskies: merge 833
2026-04-29 09:55:09 +00:00
dave
4ed1fb5110
huskies: merge 854
2026-04-29 09:29:32 +00:00
dave
dcd695ad0e
huskies: merge 852
2026-04-29 08:55:49 +00:00
dave
549a9defc4
huskies: merge 851
2026-04-29 08:42:28 +00:00
dave
283bbc8658
huskies: merge 832
2026-04-29 00:34:21 +00:00
dave
f3bb0a6f4b
huskies: merge 828
2026-04-29 00:29:26 +00:00
dave
89bf4ae0cf
huskies: merge 831
2026-04-29 00:16:18 +00:00
dave
42b576d285
huskies: merge 817
2026-04-29 00:11:48 +00:00
dave
39bdbbd095
huskies: merge 809
2026-04-29 00:06:42 +00:00
dave
a8d45dcdff
huskies: merge 800
2026-04-28 23:36:40 +00:00
dave
ab01a62bd1
huskies: merge 808
2026-04-28 23:18:57 +00:00
dave
6092f7efbb
huskies: merge 822
2026-04-28 23:12:25 +00:00
dave
dd35a8a530
huskies: merge 799
2026-04-28 21:01:55 +00:00
dave
97b9eaa39d
huskies: merge 807
2026-04-28 20:56:17 +00:00
dave
2a77f73ba4
fix(merge): use server-start-time, not pid, for stale-merge detection
...
The merge_jobs cleanup encoded the server's pid in the CRDT and checked
`kill(pid, 0)` to decide whether a "running" entry was stale. Two problems:
1. The cleanup runs *inside* the server, so checking whether the
server's own pid is alive is tautological — kill(self_pid, 0)
always succeeds.
2. `rebuild_and_restart` does an `execve()` re-exec, which keeps the
same pid. After re-exec, merge_jobs from the previous server
instance still encode "the current pid" — so the cleanup never
fires, and stories like 799/800 sit forever with status="running"
while no actual merge runs.
Switch to a per-process server-start-time captured lazily in a
`OnceLock<f64>` (reset by execve, so the new instance sees a fresh
boot-time). A merge_job's recorded start-time < current boot-time means
it came from a previous instance: stale, delete it.
Legacy pid-encoded entries decode to None and are also treated as stale.
MergeJob.pid → MergeJob.server_start_time. Tests updated.
2026-04-28 20:41:32 +00:00
dave
8f392f4fc7
huskies: merge 789
2026-04-28 20:38:12 +00:00
dave
f5ab75ecaa
huskies: merge 819
2026-04-28 20:28:35 +00:00