The open file descriptors a restored heap must have, recorded at snapshot time.
Measured on the standalone restore probe, and it inverted the hypothesis this code was written
against: inode alignment is NOT load-bearing (shifting every inode by 1 and by 500 both restored
byte-identically), but the open fd table IS, at the same fd numbers. Four descriptors. Dropping
/dev/urandom's alone throws RandomException; dropping the three sqlite fds gives a
locking-protocol error after an 80-120 second stall, which on the edge is a hung request
rather than an error -- so this is asserted BEFORE the memcpy and fails loudly.
The open file descriptors a restored heap must have, recorded at snapshot time.
Measured on the standalone restore probe, and it inverted the hypothesis this code was written against: inode alignment is NOT load-bearing (shifting every inode by 1 and by 500 both restored byte-identically), but the open fd table IS, at the same fd numbers. Four descriptors. Dropping
/dev/urandom's alone throwsRandomException; dropping the three sqlite fds gives a locking-protocol error after an 80-120 second stall, which on the edge is a hung request rather than an error -- so this is asserted BEFORE the memcpy and fails loudly.