| 3 Dec 2025 |
griff | I was thinking more to store NarInfo there to guard against corruption. | 16:01:16 |
raitobezarius | we wanted to remove the SQLite DB and store the data directly in xattrs dir inodes | 16:01:29 |
griff | But 1994 is VERY tight | 16:01:30 |
raitobezarius | unfortunately a graph cannot fit into 1994b | 16:01:37 |
raitobezarius | hence why we gave up on this | 16:01:43 |
raitobezarius | it seems like this is mostly a linux problem for the record | 16:01:51 |
raitobezarius | i think macOS and Windows have very comfortable margins | 16:01:57 |
raitobezarius | then also the code that writes "big xattrs" in ext4 frightened me a bit | 16:02:18 |
raitobezarius | and i could see the day where a fs stops remounting because this part of ext4 code is not super well tested | 16:02:29 |
raitobezarius | FTR, ext4 is 4040 bytes max | 16:02:41 |
raitobezarius | (in ~default settings) | 16:02:46 |
griff | I knew that one. It is not just 4040 max it takes up 4K even if you store a couple of bytes. Filled up my drive once learning that. | 16:04:13 |
aloisw | Do we have a reproducer for that? I sometimes (but rarely) run into the retry warning, but never saw the deadlock thing myself. | 16:05:00 |
aloisw | Regarding xattrs, it's also easy to lose them when transferring files, and then wonder what's going on. | 16:06:07 |
Qyriad | well if it's just meta, that's fine — the same derivation can have different meta attrs after all | 16:12:45 |
raitobezarius | why can the exact same derivation have different meta attrs? | 18:17:56 |
raitobezarius | ah i see what you mean | 18:18:07 |
raitobezarius | Drv → Meta is not injective | 18:18:13 |
raitobezarius | that's right | 18:18:16 |
raitobezarius | but like if people starts depending on them via xattrs, that sounds ugh | 18:18:35 |
raitobezarius | basically large scale CI, nej workloads | 18:18:41 |
raitobezarius | It doesn't deadlock though | 18:18:49 |
raitobezarius | It's just way too slow | 18:18:51 |
aloisw | Hm yes, that's where I have seen these messages. Not noticed any excessive slowness though, but I can see different bottlenecks showing up there depending on machine speed. | 18:20:07 |
aloisw | For example, one thread not being enough to saturate the disk, transaction commit being stuck in fsync, deadlock on shitty code. | 18:21:23 |
aloisw | Not sure how much better other databases are on most of these points, except the first obviously. | 18:22:50 |
aloisw | SQL> CONNECT 'meow.db';
Statement failed, SQLSTATE = 08001
I/O error during "lock" operation for file "/home/aloisw/meow.db"
-Database already opened with engine instance, incompatible with current
Am I doing something wrong or does it not support concurrency at all? | 19:07:59 |
K900 | You have to use WAL mode | 19:08:17 |
K900 | To get single writer multiple readers | 19:08:22 |
aloisw | This is firebird, not SQLite. | 19:09:05 |