Heikki Linnakangas
30027d94a2
Fix tracking of the nextMulti in the pageserver's copy of CheckPoint ( #6528 )
...
Whenever we see an XLOG_MULTIXACT_CREATE_ID WAL record, we need to
update the nextMulti and NextMultiOffset fields in the pageserver's
copy of the CheckPoint struct, to cover the new multi-XID. In
PostgreSQL, this is done by updating an in-memory struct during WAL
replay, but because in Neon you can start a compute node at any LSN,
we need to have an up-to-date value pre-calculated in the pageserver
at all times. We do the same for nextXid.
However, we had a bug in WAL ingestion code that does that: the
multi-XIDs will wrap around at 2^32, just like XIDs, so we need to do
the comparisons in a wraparound-aware fashion.
Fix that, and add tests.
Fixes issue #6520
Co-authored-by: Konstantin Knizhnik <knizhnik@neon.tech >
2024-07-01 01:49:49 +03:00
..
2023-09-12 15:11:32 +02:00
2024-05-13 15:16:23 +03:00
2024-06-25 17:38:06 +01:00
2024-05-13 15:16:23 +03:00
2024-05-22 17:06:00 +00:00
2024-03-26 15:24:18 +01:00
2024-05-01 21:36:50 -07:00
2023-04-13 14:34:29 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-05-15 12:05:24 +00:00
2023-10-27 10:47:11 +01:00
2024-03-12 11:36:27 +00:00
2024-02-11 01:34:31 +02:00
2023-09-08 16:19:57 +01:00
2024-06-04 16:16:23 +00:00
2024-05-14 10:36:48 -04:00
2024-05-16 12:04:16 +02:00
2024-02-11 01:34:31 +02:00
2024-05-06 06:45:27 +03:00
2024-02-11 01:34:31 +02:00
2024-02-11 01:34:31 +02:00
2024-02-11 01:34:31 +02:00
2024-06-10 13:50:17 +00:00
2023-11-27 18:57:58 +00:00
2024-03-01 14:33:08 +00:00
2023-04-13 14:34:29 +03:00
2024-05-22 15:43:21 +03:00
2024-05-17 12:24:02 +02:00
2024-05-29 22:18:09 +03:00
2024-06-14 11:51:12 +03:00
2024-06-26 21:54:29 +00:00
2024-06-10 13:50:17 +00:00
2024-04-02 14:32:14 +01:00
2024-04-02 14:32:14 +01:00
2024-05-21 20:08:43 +03:00
2023-09-15 11:17:18 +01:00
2024-06-11 15:38:54 +03:00
2024-02-11 01:34:31 +02:00
2024-03-01 13:29:08 +01:00
2024-06-20 11:56:14 +02:00
2024-03-01 10:45:39 +01:00
2024-06-11 17:59:32 -07:00
2024-06-24 20:12:24 +00:00
2024-06-10 12:52:49 +00:00
2024-02-11 01:34:31 +02:00
2024-05-13 15:16:23 +03:00
2024-03-28 17:22:35 +00:00
2024-01-26 18:23:53 +00:00
2024-03-06 15:52:24 +00:00
2024-07-01 01:49:49 +03:00
2023-04-13 14:34:29 +03:00
2024-05-17 12:24:02 +02:00
2024-06-04 14:19:36 +03:00
2024-06-13 00:31:31 +03:00
2024-06-28 09:14:19 +01:00
2023-04-13 14:34:29 +03:00
2024-06-07 10:18:05 +03:00
2024-06-11 22:45:22 +00:00
2024-05-13 15:16:23 +03:00
2024-05-21 20:08:43 +03:00
2024-06-18 13:44:30 +01:00
2024-01-23 07:55:05 +02:00
2024-06-04 16:16:23 +00:00
2023-11-07 16:57:26 +00:00
2024-06-21 15:39:19 +01:00
2024-02-11 01:34:31 +02:00
2024-05-23 23:26:42 +02:00
2024-06-20 11:56:14 +02:00
2024-05-06 07:18:38 +03:00
2024-06-20 11:56:14 +02:00
2024-05-17 12:24:02 +02:00
2024-05-07 15:18:17 +00:00
2024-02-21 18:24:59 +01:00
2023-09-16 18:05:35 +03:00
2024-05-16 13:05:50 +02:00
2024-06-24 10:20:27 +00:00
2024-05-13 15:16:23 +03:00
2024-04-25 20:45:37 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2024-06-25 17:38:06 +01:00
2024-03-23 01:01:51 +00:00
2024-06-21 15:39:19 +01:00
2023-07-18 12:56:40 +03:00
2024-06-28 18:27:13 +01:00
2023-08-03 17:20:24 +03:00
2024-06-28 09:14:19 +01:00
2024-06-11 22:45:22 +00:00
2024-06-03 19:37:33 +03:00
2024-02-11 01:34:31 +02:00
2024-05-17 12:24:02 +02:00
2024-06-24 17:03:53 +00:00
2024-06-25 17:38:06 +01:00
2024-06-21 15:39:19 +01:00
2024-06-21 15:39:19 +01:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-03-01 10:45:39 +01:00
2024-05-13 15:16:23 +03:00
2024-06-21 15:39:19 +01:00
2024-06-25 17:38:06 +01:00
2023-07-18 12:56:40 +03:00
2024-02-11 01:34:31 +02:00
2024-05-21 09:18:11 -05:00
2024-06-12 09:18:52 +03:00
2024-06-26 18:58:56 +01:00
2024-06-27 15:08:35 +03:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-06-25 17:38:06 +01:00