| 1 May 2026 |
BMG | Just double checking thanks | 19:28:49 |
hexa | make sure to create a copy if you want to repeatedly try stuff | 19:29:00 |
hexa | Simon Hauser also wanted access iirc | 19:29:07 |
BMG | John Ericson: these are substitutions (type = 1) but they all have drv paths | 19:29:35 |
BMG | lemme find the ones without | 19:29:39 |
John Ericson | BMG: OK so the rule is drvPath is non null if and only if type =1 ? | 19:29:40 |
John Ericson | oh ok | 19:29:45 |
John Ericson | nevermind | 19:29:50 |
John Ericson | you're already on it :) | 19:29:59 |
BMG |
hydra=# select * from buildsteps where type = 1 and (drvPath is null or drvPath = '') order by build desc limit 50;
build | stepnr | type | drvpath | busy | status | errormsg | starttime | stoptime | machine | system | propagatedfrom | overhead | timesbuilt | isnondeterministic
----------+--------+------+---------+------+--------+----------+------------+------------+---------+--------+----------------+----------+------------+--------------------
23055221 | 1 | 1 | | 0 | 0 | | 1434148535 | 1434148558 | | | | | |
19983214 | 1 | 1 | | 0 | 0 | | 1424970676 | 1424970677 | | | | | |
19983213 | 1 | 1 | | 0 | 0 | | 1424968666 | 1424968669 | | | | | |
19282992 | 1 | 1 | | 0 | 0 | | 1422655368 | 1422655434 | | | | | |
19282987 | 1 | 1 | | 0 | 0 | | 1422655688 | 1422655691 | | | | | |
19282982 | 1 | 1 | | 0 | 0 | | 1422655654 | 1422655657 | | | | | |
19282975 | 1 | 1 | | 0 | 0 | | 1422655312 | 1422655340 | | | | | |
19282969 | 1 | 1 | | 0 | 0 | | 1422655331 | 1422655340 | | | | | |
19282960 | 1 | 1 | | 0 | 0 | | 1422655287 | 1422655336 | | | | | |
19282889 | 1 | 1 | | 0 | 0 | | 1422653936 | 1422653964 | | | | | |
19282885 | 1 | 1 | | 0 | 0 | | 1422653875 | 1422653885 | | | | | |
19282876 | 1 | 1 | | 0 | 0 | | 1422653864 | 1422653876 | | | | | |
19282861 | 1 | 1 | | 0 | 0 | | 1422653869 | 1422653889 | | | | | |
19282834 | 1 | 1 | | 0 | 0 | | 1422653890 | 1422653929 | | | | | |
19282817 | 1 | 1 | | 0 | 0 | | 1422653869 | 1422653885 | | | | | |
19282816 | 1 | 1 | | 0 | 0 | | 1422653838 | 1422653890 | | | | | |
19282814 | 1 | 1 | | 0 | 0 | | 1422653858 | 1422653870 | | | | | |
19282800 | 1 | 1 | | 0 | 0 | | 1422653840 | 1422653875 | | | | | |
19282799 | 1 | 1 | | 0 | 0 | | 1422653869 | 1422653876 | | | | | |
19282798 | 1 | 1 | | 0 | 0 | | 1422653861 | 1422653891 | | | | | |
19282794 | 1 | 1 | | 0 | 0 | | 1422653870 | 1422653878 | | | | | |
19282786 | 1 | 1 | | 0 | 0 | | 1422653853 | 1422653862 | | | | | |
19282779 | 1 | 1 | | 0 | 0 | | 1422653869 | 1422653878 | | | | | |
19282773 | 1 | 1 | | 0 | 0 | | 1422653850 | 1422653870 | | | | | |
19282770 | 1 | 1 | | 0 | 0 | | 1422653832 | 1422653849 | | | | | |
18847585 | 1 | 1 | | 0 | 0 | | 1421450352 | 1421450373 | | | | | |
18846807 | 1 | 1 | | 0 | 0 | | 1421450492 | 1421450493 | | | | | |
18846551 | 1 | 1 | | 0 | 0 | | 1421444177 | 1421444179 | | | | | |
18845974 | 43 | 1 | | 0 | 0 | | 1421437974 | 1421437981 | | | | | |
18845974 | 35 | 1 | | 0 | 0 | | 1421437960 | 1421437961 | | | | | |
18845974 | 15 | 1 | | 0 | 0 | | 1421437933 | 1421437934 | | | | | |
18845974 | 40 | 1 | | 0 | 0 | | 1421437970 | 1421437971 | | | | | |
18845974 | 21 | 1 | | 0 | 0 | | 1421437940 | 1421437940 | | | | | |
18845974 | 7 | 1 | | 0 | 0 | | 1421437923 | 1421437924 | | | | | |
18845974 | 8 | 1 | | 0 | 0 | | 1421437924 | 1421437925 | | | | | |
18845974 | 36 | 1 | | 0 | 0 | | 1421437961 | 1421437965 | | | | | |
18845974 | 30 | 1 | | 0 | 0 | | 1421437952 | 1421437953 | | | | | |
18845974 | 44 | 1 | | 0 | 0 | | 1421437981 | 1421437982 | | | | | |
18845974 | 18 | 1 | | 0 | 0 | | 1421437936 | 1421437938 | | | | | |
18845974 | 39 | 1 | | 0 | 0 | | 1421437969 | 1421437970 | | | | | |
18845974 | 27 | 1 | | 0 | 0 | | 1421437947 | 1421437950 | | | | | |
18845974 | 10 | 1 | | 0 | 0 | | 1421437926 | 1421437927 | | | | | |
18845974 | 13 | 1 | | 0 | 0 | | 1421437930 | 1421437932 | | | | | |
18845974 | 25 | 1 | | 0 | 0 | | 1421437945 | 1421437946 | | | | | |
18845974 | 32 | 1 | | 0 | 0 | | 1421437954 | 1421437955 | | | | | |
18845974 | 14 | 1 | | 0 | 0 | | 1421437932 | 1421437933 | | | | | |
18845974 | 34 | 1 | | 0 | 0 | | 1421437958 | 1421437960 | | | | | |
18845974 | 19 | 1 | | 0 | 0 | | 1421437938 | 1421437939 | | | | | |
18845974 | 38 | 1 | | 0 | 0 | | 1421437967 | 1421437969 | | | | | |
18845974 | 23 | 1 | | 0 | 0 | | 1421437942 | 1421437943 | | | | | |
| 19:30:36 |
BMG | so this implies the drvPath being null or missing last happened for substitutions quite a ways back in the build number sequence | 19:31:01 |
BMG | lemme see about making that starttime human readable | 19:31:12 |
BMG | ding ding ding we have a winner:
hydra=# select build, type, drvPath, to_timestamp(starttime) from buildsteps where type = 1 and (drvPath is null or drvPath = '') order by build desc limit 50;
build | type | drvpath | to_timestamp
----------+------+---------+------------------------
23055221 | 1 | | 2015-06-12 22:35:35+00
19983214 | 1 | | 2015-02-26 17:11:16+00
19983213 | 1 | | 2015-02-26 16:37:46+00
19282992 | 1 | | 2015-01-30 22:02:48+00
19282987 | 1 | | 2015-01-30 22:08:08+00
19282982 | 1 | | 2015-01-30 22:07:34+00
19282975 | 1 | | 2015-01-30 22:01:52+00
19282969 | 1 | | 2015-01-30 22:02:11+00
19282960 | 1 | | 2015-01-30 22:01:27+00
19282889 | 1 | | 2015-01-30 21:38:56+00
19282885 | 1 | | 2015-01-30 21:37:55+00
19282876 | 1 | | 2015-01-30 21:37:44+00
19282861 | 1 | | 2015-01-30 21:37:49+00
19282834 | 1 | | 2015-01-30 21:38:10+00
19282817 | 1 | | 2015-01-30 21:37:49+00
19282816 | 1 | | 2015-01-30 21:37:18+00
19282814 | 1 | | 2015-01-30 21:37:38+00
19282800 | 1 | | 2015-01-30 21:37:20+00
19282799 | 1 | | 2015-01-30 21:37:49+00
19282798 | 1 | | 2015-01-30 21:37:41+00
19282794 | 1 | | 2015-01-30 21:37:50+00
19282786 | 1 | | 2015-01-30 21:37:33+00
19282779 | 1 | | 2015-01-30 21:37:49+00
19282773 | 1 | | 2015-01-30 21:37:30+00
19282770 | 1 | | 2015-01-30 21:37:12+00
18847585 | 1 | | 2015-01-16 23:19:12+00
18846807 | 1 | | 2015-01-16 23:21:32+00
18846551 | 1 | | 2015-01-16 21:36:17+00
18845974 | 1 | | 2015-01-16 19:52:54+00
18845974 | 1 | | 2015-01-16 19:52:40+00
18845974 | 1 | | 2015-01-16 19:52:13+00
18845974 | 1 | | 2015-01-16 19:52:50+00
18845974 | 1 | | 2015-01-16 19:52:20+00
18845974 | 1 | | 2015-01-16 19:52:03+00
18845974 | 1 | | 2015-01-16 19:52:04+00
18845974 | 1 | | 2015-01-16 19:52:41+00
18845974 | 1 | | 2015-01-16 19:52:32+00
18845974 | 1 | | 2015-01-16 19:53:01+00
18845974 | 1 | | 2015-01-16 19:52:16+00
18845974 | 1 | | 2015-01-16 19:52:49+00
18845974 | 1 | | 2015-01-16 19:52:27+00
18845974 | 1 | | 2015-01-16 19:52:06+00
18845974 | 1 | | 2015-01-16 19:52:10+00
18845974 | 1 | | 2015-01-16 19:52:25+00
18845974 | 1 | | 2015-01-16 19:52:34+00
18845974 | 1 | | 2015-01-16 19:52:12+00
18845974 | 1 | | 2015-01-16 19:52:38+00
18845974 | 1 | | 2015-01-16 19:52:18+00
18845974 | 1 | | 2015-01-16 19:52:47+00
18845974 | 1 | | 2015-01-16 19:52:22+00
(50 rows)
| 19:32:26 |
BMG | According to this the last time a type = 1 had a null drvPath was 2015 | 19:32:41 |
BMG | someone else confirm the query I'm using to be sure | 19:32:55 |
BMG | ordered by starttime desc to double check:
hydra=# select build, type, drvPath, to_timestamp(starttime) as starttime from buildsteps where type = 1 and (drvPath is null or drvPath = '') order by starttime desc limit 50;
build | type | drvpath | starttime
----------+------+---------+------------------------
23055221 | 1 | | 2015-06-12 22:35:35+00
19983214 | 1 | | 2015-02-26 17:11:16+00
19983213 | 1 | | 2015-02-26 16:37:46+00
19282987 | 1 | | 2015-01-30 22:08:08+00
19282982 | 1 | | 2015-01-30 22:07:34+00
19282992 | 1 | | 2015-01-30 22:02:48+00
19282969 | 1 | | 2015-01-30 22:02:11+00
19282975 | 1 | | 2015-01-30 22:01:52+00
19282960 | 1 | | 2015-01-30 22:01:27+00
19282889 | 1 | | 2015-01-30 21:38:56+00
19282834 | 1 | | 2015-01-30 21:38:10+00
19282885 | 1 | | 2015-01-30 21:37:55+00
19282794 | 1 | | 2015-01-30 21:37:50+00
19282779 | 1 | | 2015-01-30 21:37:49+00
19282799 | 1 | | 2015-01-30 21:37:49+00
19282861 | 1 | | 2015-01-30 21:37:49+00
19282817 | 1 | | 2015-01-30 21:37:49+00
19282876 | 1 | | 2015-01-30 21:37:44+00
19282798 | 1 | | 2015-01-30 21:37:41+00
19282814 | 1 | | 2015-01-30 21:37:38+00
19282786 | 1 | | 2015-01-30 21:37:33+00
19282773 | 1 | | 2015-01-30 21:37:30+00
19282800 | 1 | | 2015-01-30 21:37:20+00
19282816 | 1 | | 2015-01-30 21:37:18+00
19282770 | 1 | | 2015-01-30 21:37:12+00
18843901 | 1 | | 2015-01-18 14:12:19+00
18843901 | 1 | | 2015-01-18 14:12:18+00
18843996 | 1 | | 2015-01-18 14:11:20+00
18843980 | 1 | | 2015-01-18 14:11:19+00
18843990 | 1 | | 2015-01-18 14:11:19+00
18843997 | 1 | | 2015-01-18 14:11:18+00
18843865 | 1 | | 2015-01-18 14:11:08+00
18843901 | 1 | | 2015-01-18 14:11:06+00
18843895 | 1 | | 2015-01-18 14:11:05+00
18843927 | 1 | | 2015-01-18 14:11:03+00
18843872 | 1 | | 2015-01-18 14:11:03+00
18843934 | 1 | | 2015-01-18 14:11:01+00
18843847 | 1 | | 2015-01-18 14:11:01+00
18843657 | 1 | | 2015-01-18 14:10:57+00
18843858 | 1 | | 2015-01-18 14:10:48+00
18843864 | 1 | | 2015-01-18 14:10:48+00
18843657 | 1 | | 2015-01-18 14:10:45+00
18843820 | 1 | | 2015-01-18 14:10:41+00
18843818 | 1 | | 2015-01-18 14:10:41+00
18843829 | 1 | | 2015-01-18 14:10:41+00
18843847 | 1 | | 2015-01-18 14:10:38+00
18843850 | 1 | | 2015-01-18 14:10:38+00
18843783 | 1 | | 2015-01-18 14:10:36+00
18843814 | 1 | | 2015-01-18 14:10:36+00
18843803 | 1 | | 2015-01-18 14:10:35+00
| 19:33:46 |
BMG | Looks like you can make drvpath non null, but you'll probably have to stick a placeholder value in these old ones until GC of some form lands in hydra to retain the history and integrity | 19:34:58 |
BMG | And on that note, I think the F1 is starting and I need to swing by the shop for some beverages 👋 | 19:35:59 |
John Ericson | BMG: thanks! | 19:43:13 |
John Ericson | enjoy the F1 :) | 19:43:17 |
John Ericson | I really appreciate it | 19:43:26 |
| 2 May 2026 |
| @rasmata:matrix.org joined the room. | 19:28:51 |
| @rasmata:matrix.org left the room. | 19:28:59 |
John Ericson | hexa Simon Hauser so re the machine status page, it is not to hard to remove some obselete logic from the web app, but there is still the question of whether we prefer SystemStatus in the database or the JSON endpoint directly on the queue runner | 21:57:29 |
John Ericson | I would rather have just one, but I don't know the full context here | 21:57:53 |
hexa | I think it should be transient in the queue runner | 22:20:11 |
hexa | On restart all state is invalid anyhow | 22:20:20 |
| 3 May 2026 |
John Ericson | @hexa:lossy.network ok sounds good. I can do that | 14:26:55 |
John Ericson | Can anyone review https://github.com/NixOS/hydra/pull/1685 ? | 14:27:19 |
John Ericson | I guess it's mostly the feature parts that need review. I can switch up the order and land the pure refactors first | 14:32:19 |