Chris Lu
e2608edda4
volume: fix 5-byte index offset corruption in makeupDiff ( #11411 )
...
* volume: encode all offset bytes when makeupDiff replays a write
makeupDiff patched only bytes 8:12 of the index entry, so under the
5BytesOffset build the fifth byte kept the old offset's high bits and the
replayed needle's index pointed 32 GiB-aligned ranges away from its body.
A later vacuum then dropped the entry as unreadable. Rebuild the entry with
needle_map.ToBytes, the same encoder the tombstone branch just below uses.
* volume: test makeupDiff replay across a 32 GiB offset boundary
Sparse-file test: truncate the .dat to 64 GiB after one write, compact,
write a second needle, commit, and assert the index offset matches the
.compacted size and the needle stays readable through a second vacuum.
Only runs under -tags=5BytesOffset.
2026-09-21 00:59:35 -07:00
..
2026-09-14 22:09:08 -07:00
2026-09-20 23:26:41 -07:00
2026-06-30 02:01:14 -07:00
2026-09-19 21:28:37 -07:00
2026-07-22 14:38:06 -07:00
2026-08-07 00:53:02 -07:00
2026-05-21 09:42:07 -07:00
2026-08-27 10:01:05 -07:00
2026-09-07 18:40:37 -07:00
2026-05-21 02:16:28 -07:00
2026-08-27 22:25:15 -07:00
2026-08-27 22:25:15 -07:00
2026-05-31 18:52:44 -07:00
2026-04-27 16:01:10 -07:00
2026-08-29 14:19:16 -07:00
2026-08-29 14:19:16 -07:00
2026-08-27 22:25:15 -07:00
2026-09-03 08:43:10 -07:00
2026-09-09 12:55:47 -07:00
2026-06-12 23:51:29 -07:00
2026-09-08 21:42:56 -07:00
2026-09-08 21:42:56 -07:00
2026-09-08 21:42:56 -07:00
2026-09-07 18:40:37 -07:00
2026-08-31 21:41:50 -07:00
2026-08-04 13:33:31 -07:00
2026-08-08 06:00:46 -07:00
2026-04-16 22:01:34 -07:00
2026-04-16 22:01:34 -07:00
2026-04-16 22:01:34 -07:00
2026-05-13 10:22:01 -07:00
2026-08-25 10:23:00 -07:00
2026-04-16 22:01:34 -07:00
2026-09-14 22:09:08 -07:00
2026-08-21 22:33:01 -07:00
2026-09-09 12:55:47 -07:00
2026-08-08 20:23:10 -07:00
2026-09-03 14:52:05 -07:00
2026-06-02 09:02:05 -07:00
2026-06-14 06:36:47 -07:00
2026-06-02 09:02:05 -07:00
2026-08-28 20:46:59 -07:00
2026-06-10 13:33:45 -07:00
2026-06-12 23:51:29 -07:00
2026-08-28 20:46:59 -07:00
2026-08-28 15:43:05 -07:00
2026-06-02 09:02:05 -07:00
2026-05-17 19:55:15 -07:00
2026-06-02 09:02:05 -07:00
2026-08-12 20:18:39 -07:00
2026-06-02 09:02:05 -07:00
2026-06-11 20:26:20 -07:00
2026-08-27 22:25:15 -07:00
2026-08-28 15:55:12 -07:00
2026-08-28 20:46:59 -07:00
2026-06-25 10:38:14 -07:00
2026-06-25 10:38:14 -07:00
2026-01-23 16:38:36 -08:00
2026-08-28 20:46:59 -07:00
2026-09-12 14:19:18 -07:00
2026-08-29 12:12:41 -07:00
2026-09-08 21:42:56 -07:00
2026-08-21 22:33:01 -07:00
2026-09-03 23:50:12 -07:00
2025-10-20 16:11:29 -07:00
2026-08-21 13:04:56 -07:00
2026-09-09 12:55:47 -07:00
2026-06-02 09:02:05 -07:00
2026-09-09 23:33:05 -07:00
2026-04-03 16:04:27 -07:00
2026-08-18 17:17:50 -07:00
2025-06-30 13:57:28 -07:00
2026-09-20 13:30:02 -07:00
2026-08-27 22:25:15 -07:00
2026-08-27 22:25:15 -07:00
2026-09-09 23:33:05 -07:00
2026-08-21 13:04:56 -07:00
2019-04-17 22:04:49 -07:00
2025-06-16 22:05:06 -07:00
2026-09-19 18:55:27 -07:00
2026-09-19 18:55:27 -07:00
2026-08-18 17:17:50 -07:00
2026-09-03 08:43:10 -07:00
2026-09-03 08:43:10 -07:00
2026-08-18 17:17:50 -07:00
2026-07-28 16:48:30 -07:00
2026-08-11 16:36:36 -07:00
2026-08-09 12:43:31 -07:00
2026-08-09 09:41:50 -07:00
2026-08-10 00:40:29 -07:00
2026-09-07 09:23:56 -07:00
2026-08-13 21:38:22 -07:00
2026-09-07 18:40:37 -07:00
2026-09-04 23:48:40 -07:00
2026-09-07 18:40:37 -07:00
2022-11-23 15:59:38 -08:00
2026-09-19 22:26:56 -07:00
2026-09-19 22:26:56 -07:00
2026-09-07 09:23:56 -07:00
2026-07-30 17:03:38 -07:00
2026-08-31 21:41:50 -07:00
2026-08-27 22:25:15 -07:00
2026-09-04 23:48:40 -07:00
2026-09-04 23:48:40 -07:00
2026-09-21 00:59:35 -07:00
2026-08-18 17:17:50 -07:00
2026-09-19 22:26:56 -07:00
2026-09-21 00:59:35 -07:00
2026-08-18 17:17:50 -07:00
2026-09-19 21:28:37 -07:00
2026-09-19 21:28:37 -07:00
2026-09-08 21:42:56 -07:00