Brandon Nesterenko
4c33c5e48e
MDEV-39660 Replica Crashes on Malformed Partial_rows_log_event
...
If the first Partial_rows_log_event in a group provides an
original_event_size that is smaller than the actual size of the
underlying Rows_log_event, the slave will not allocate enough memory
to hold the actual Rows_log_event content, but still try to copy
that much memory, resulting in the slave crashing.
This patch adds validation checking for this condition, and will error
with code ER_PARTIAL_ROWS_LOG_EVENT_BAD_STREAM when detected.
Additionally:
* A new validation is added to ensure that the slave supports
re-constructing the size of the original event on the master (i.e. if
repliating from a 64-bit to a 32-bit system). A new test is added to
show the error message is correct. Note that the error code used here is
ER_OUTOFMEMORY, and that isn't exactly correct; but the actual error
isn't practical enough to warrant its own new error code.
* The error message for ER_PARTIAL_ROWS_LOG_EVENT_BAD_STREAM
is generalized to better support various types of broken streams. The
previous message was hard-coded to be about detecting out-of-sequence
fragments. The new message is updated to allow general "found %s" and
"expected %s" conditions.
Signed-off-by: Brandon Nesterenko <brandon.nesterenko@mariadb.com >
2026-05-20 09:07:35 -06:00
..
2026-05-20 09:07:35 -06:00
2025-03-14 12:08:56 +04:00
2025-10-25 00:19:11 +07:00
2025-06-13 08:52:54 +10:00
2026-02-07 22:06:40 +01:00
2024-05-27 12:39:02 +02:00
2024-05-27 12:39:02 +02:00
2024-08-12 09:32:30 +01:00
2026-02-06 17:46:52 +01:00
2026-02-06 17:46:52 +01:00
2024-11-05 14:00:47 -08:00
2025-07-28 21:29:29 +02:00
2024-11-05 14:00:48 -08:00
2026-01-23 03:17:09 +01:00
2025-04-28 12:59:39 +03:00
2025-09-29 18:25:09 +03:00
2024-11-05 14:00:47 -08:00
2025-03-14 12:08:56 +04:00
2025-04-29 16:53:01 +02:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2024-04-30 23:09:02 +10:00
2024-04-30 23:09:02 +10:00
2025-06-18 16:46:21 +10:00
2024-12-02 11:35:34 +02:00
2026-02-07 22:12:32 +01:00
2024-06-20 11:32:13 -04:00
2024-12-02 17:51:17 +02:00
2026-01-31 14:08:54 +01:00
2026-01-31 14:08:54 +01:00
2024-10-30 15:11:17 +01:00
2025-08-01 18:03:20 +02:00
2026-01-31 14:08:54 +01:00
2026-04-30 21:55:42 +02:00
2026-02-09 11:03:26 -07:00
2024-11-05 14:00:48 -08:00
2024-12-02 11:35:34 +02:00
2025-10-08 09:05:38 +02:00
2026-03-24 09:49:17 +02:00
2026-03-24 09:49:17 +02:00
2026-03-24 09:49:17 +02:00
2025-04-22 16:26:36 -04:00
2025-04-29 16:53:02 +02:00
2024-04-18 15:22:10 +04:00
2024-10-15 15:36:12 +11:00
2025-04-22 16:26:36 -04:00
2024-11-08 07:17:00 +01:00
2026-05-08 10:24:38 +10:00
2026-05-08 10:24:38 +10:00
2026-02-06 17:46:52 +01:00
2025-05-05 11:36:55 +10:00
2025-10-08 09:05:38 +02:00
2026-05-05 11:33:38 +03:00
2026-03-24 09:49:17 +02:00
2024-11-05 14:00:47 -08:00
2024-11-05 14:00:47 -08:00
2024-11-29 13:43:17 +02:00
2026-04-23 18:54:18 +05:30
2026-04-29 10:24:04 +05:30
2025-08-01 18:03:20 +02:00
2025-08-01 18:03:20 +02:00
2026-03-13 16:17:11 +01:00
2024-12-05 10:11:58 +01:00
2026-02-07 22:12:32 +01:00
2026-02-10 00:03:02 +01:00
2026-05-07 12:01:47 -04:00
2026-02-03 14:53:15 +01:00
2026-04-29 23:03:58 -04:00
2026-04-02 09:15:17 +03:00
2026-02-03 14:53:15 +01:00
2025-10-15 11:32:39 +04:00
2026-02-03 14:53:15 +01:00
2026-02-03 14:53:15 +01:00
2026-03-13 16:17:11 +01:00
2026-02-07 22:12:32 +01:00
2026-02-03 14:53:15 +01:00
2026-02-03 14:53:15 +01:00
2026-05-07 08:36:59 +10:00
2026-02-04 17:35:21 +01:00
2026-04-20 17:17:36 +10:00
2026-03-13 16:17:11 +01:00
2025-09-16 10:10:08 +05:30
2026-03-24 09:49:17 +02:00
2024-10-08 11:58:46 +02:00
2026-01-31 14:08:54 +01:00
2026-04-01 15:03:59 +03:00
2026-04-02 09:15:17 +03:00
2026-05-15 13:46:27 +04:00
2026-05-15 13:46:27 +04:00
2026-05-05 10:22:44 +10:00
2026-05-05 10:22:44 +10:00
2026-02-03 14:53:15 +01:00
2025-09-16 10:10:08 +05:30
2026-03-10 09:24:31 +11:00
2026-01-08 12:02:45 +01:00
2025-11-06 07:29:30 +01:00
2025-11-06 07:29:30 +01:00
2026-02-05 11:55:12 +11:00
2024-11-23 08:14:22 -07:00
2024-07-08 22:40:16 +02:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2025-05-05 12:02:47 +07:00
2024-07-16 09:09:38 +04:00
2025-05-05 12:02:43 +07:00
2025-04-27 19:40:00 +02:00
2024-11-05 14:00:47 -08:00
2026-02-10 00:03:02 +01:00
2025-04-28 12:59:39 +03:00
2024-10-17 07:53:59 -06:00
2026-01-23 03:21:03 +01:00
2026-01-27 12:59:30 -07:00
2026-05-20 09:07:35 -06:00
2026-01-27 12:59:30 -07:00
2026-05-20 09:07:35 -06:00
2026-05-14 13:42:03 +02:00
2026-01-23 03:21:03 +01:00
2025-03-14 12:08:56 +04:00
2025-10-08 09:05:38 +02:00
2026-04-02 09:15:17 +03:00
2025-08-04 20:24:01 +02:00
2024-10-03 15:59:20 +10:00
2025-03-14 12:08:56 +04:00
2026-03-24 09:49:17 +02:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2026-04-30 21:55:42 +02:00
2024-05-30 16:04:00 +03:00
2025-04-29 11:18:00 +10:00
2025-04-15 18:58:32 +02:00
2025-05-26 12:02:50 +02:00
2026-04-09 17:25:40 +05:30
2026-03-24 09:49:17 +02:00
2025-04-02 14:07:01 +03:00
2026-01-23 03:21:03 +01:00
2025-10-16 09:31:56 +12:00
2025-10-16 09:31:56 +12:00
2026-04-30 01:05:25 +07:00
2026-04-30 01:05:25 +07:00
2026-02-06 17:46:51 +01:00
2025-10-27 10:29:22 -04:00
2025-11-24 17:45:51 +05:30
2025-09-16 10:10:08 +05:30
2025-10-10 20:32:56 +07:00
2026-03-16 15:15:15 -04:00
2026-02-03 14:53:15 +01:00
2024-11-05 14:00:47 -08:00
2026-01-31 14:08:54 +01:00
2025-03-14 12:08:56 +04:00
2026-03-12 09:16:49 +13:00
2026-03-24 09:49:17 +02:00
2025-10-08 09:05:38 +02:00
2025-09-15 16:17:33 +02:00
2025-10-08 09:05:38 +02:00
2025-03-14 12:08:56 +04:00
2025-06-28 07:35:07 -04:00
2025-06-28 07:35:07 -04:00
2026-04-02 09:15:17 +03:00
2026-05-06 11:35:09 +10:00
2025-07-22 10:44:12 +10:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2026-02-03 14:53:15 +01:00
2024-06-24 13:09:47 +03:00
2026-02-06 17:46:52 +01:00
2026-02-07 22:12:32 +01:00
2026-02-06 17:46:52 +01:00
2026-01-16 10:40:49 +02:00
2026-03-27 07:33:06 +02:00
2024-11-05 14:00:47 -08:00
2026-01-31 14:08:54 +01:00
2026-04-02 09:15:17 +03:00
2025-04-27 19:40:00 +02:00
2025-03-14 12:08:56 +04:00
2026-01-25 19:10:53 +01:00
2024-11-05 14:00:47 -08:00
2025-10-25 00:19:11 +07:00
2025-10-10 20:32:56 +07:00
2026-02-03 14:53:15 +01:00
2025-09-15 18:57:04 -06:00
2025-09-29 18:25:09 +03:00
2024-07-22 15:14:50 +02:00
2026-02-07 22:12:32 +01:00
2026-01-23 03:21:03 +01:00
2026-02-07 22:06:40 +01:00
2025-10-08 09:05:38 +02:00
2025-04-11 13:42:12 +02:00
2026-04-30 21:55:42 +02:00
2026-04-28 13:19:56 +03:00
2026-02-07 22:06:40 +01:00
2025-07-31 20:55:47 +02:00
2025-07-07 14:03:49 -06:00
2026-01-27 12:59:30 -07:00
2026-01-27 12:59:30 -07:00
2026-02-07 22:06:40 +01:00
2026-03-23 11:57:44 +02:00
2026-02-07 22:06:40 +01:00
2026-01-27 12:59:23 -07:00
2026-01-27 12:59:23 -07:00
2026-04-27 18:26:17 -06:00
2026-01-27 12:59:30 -07:00
2026-01-27 12:59:30 -07:00
2025-05-05 12:02:43 +07:00
2024-11-05 14:00:47 -08:00
2025-03-14 12:08:56 +04:00
2025-04-19 10:59:58 +04:00
2025-03-14 12:08:56 +04:00
2025-09-15 13:44:10 -06:00
2025-07-31 20:55:47 +02:00
2025-04-23 17:20:47 -06:00
2025-04-23 17:20:47 -06:00
2025-03-14 12:08:56 +04:00
2026-04-02 09:15:17 +03:00
2025-03-14 12:08:56 +04:00
2025-05-03 12:06:36 +02:00
2026-02-06 17:46:51 +01:00
2025-10-25 00:19:11 +07:00
2025-03-31 18:37:06 +02:00
2025-10-15 11:32:39 +04:00
2025-10-15 11:32:39 +04:00
2026-05-20 09:07:35 -06:00
2026-04-27 18:26:17 -06:00
2025-03-14 12:08:56 +04:00
2026-02-06 17:46:50 +01:00
2025-11-04 12:39:27 +01:00
2026-02-09 15:28:24 +04:00
2026-02-09 15:28:24 +04:00
2026-02-09 15:28:24 +04:00
2026-02-09 15:28:24 +04:00
2026-02-09 15:28:24 +04:00
2026-02-09 15:28:39 +04:00
2026-02-09 15:28:24 +04:00
2025-10-08 09:05:38 +02:00
2025-08-01 18:03:20 +02:00
2026-02-09 15:28:24 +04:00
2025-08-01 18:03:20 +02:00
2025-08-01 18:03:20 +02:00
2026-02-06 17:46:52 +01:00
2026-02-06 17:46:51 +01:00
2025-09-30 17:37:11 +03:00
2026-01-08 12:02:45 +01:00
2025-09-04 18:08:39 +03:00
2026-03-24 09:49:17 +02:00
2025-05-03 12:06:36 +02:00
2026-04-02 09:15:17 +03:00
2024-06-24 13:09:47 +03:00
2025-04-28 12:59:39 +03:00
2025-04-28 12:59:39 +03:00
2024-12-02 17:51:17 +02:00
2024-12-02 17:51:17 +02:00
2024-11-05 14:00:47 -08:00
2024-04-23 22:55:22 +03:00
2025-02-10 22:06:49 +02:00
2025-03-14 12:08:56 +04:00
2026-01-08 21:41:40 +01:00
2026-04-02 09:15:17 +03:00
2026-02-02 08:07:28 +13:00
2025-10-08 09:05:38 +02:00
2026-01-27 12:59:23 -07:00
2025-10-08 09:05:38 +02:00
2024-04-23 14:12:31 +03:00
2024-11-05 14:00:50 -08:00
2026-04-02 09:15:17 +03:00
2025-03-14 12:08:56 +04:00
2026-05-19 13:19:34 +03:00
2026-04-30 21:55:42 +02:00
2026-01-31 14:08:54 +01:00
2026-01-05 20:34:44 +01:00
2025-10-08 09:05:38 +02:00
2025-05-03 12:06:36 +02:00
2026-03-24 09:49:17 +02:00
2024-11-05 14:00:47 -08:00
2024-11-05 14:00:47 -08:00
2026-02-07 22:12:32 +01:00
2026-01-08 12:02:45 +01:00
2026-02-09 16:16:22 +04:00
2025-07-28 21:29:29 +02:00
2026-02-06 17:46:51 +01:00
2026-02-06 17:46:51 +01:00
2026-03-17 18:57:42 +01:00
2026-02-07 22:12:32 +01:00
2026-02-02 08:07:28 +13:00
2026-03-24 09:49:17 +02:00
2025-04-19 10:59:58 +04:00
2026-02-06 17:46:51 +01:00
2026-02-06 17:46:51 +01:00
2026-04-02 09:15:17 +03:00
2025-10-08 09:05:38 +02:00
2025-09-29 18:25:09 +03:00
2024-06-20 11:32:13 -04:00
2024-06-27 10:26:09 +03:00
2025-08-04 12:05:53 +02:00
2024-11-05 14:00:47 -08:00
2025-05-05 12:02:48 +07:00
2024-12-02 17:51:17 +02:00
2025-01-31 20:56:41 -07:00
2026-04-02 09:15:17 +03:00
2025-09-19 12:31:14 +03:00
2025-10-08 09:05:38 +02:00
2025-10-08 09:05:38 +02:00
2025-11-24 17:45:51 +05:30
2026-04-02 09:15:17 +03:00
2026-04-02 09:15:17 +03:00
2025-04-29 11:18:00 +10:00
2025-03-14 12:08:56 +04:00
2024-11-05 14:00:47 -08:00
2025-10-08 09:05:38 +02:00
2025-10-08 09:05:38 +02:00
2026-04-09 17:25:40 +05:30
2026-04-09 17:25:40 +05:30
2025-02-12 10:17:44 +01:00
2025-03-14 12:08:56 +04:00
2025-08-04 12:05:53 +02:00
2026-04-30 21:55:42 +02:00
2026-04-30 21:55:42 +02:00
2025-10-08 09:05:38 +02:00
2024-07-03 12:45:30 +02:00
2026-04-30 21:55:42 +02:00
2024-11-05 14:00:47 -08:00
2026-02-06 17:46:52 +01:00
2026-04-17 09:31:38 +10:00
2025-07-29 13:15:02 +10:00
2025-08-04 14:58:18 +02:00
2026-03-24 09:49:17 +02:00
2025-01-09 09:41:38 +02:00
2026-02-09 15:28:24 +04:00
2026-02-09 15:28:24 +04:00
2026-01-28 14:11:44 +02:00
2026-03-11 08:05:08 +02:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2026-01-23 03:21:03 +01:00
2026-02-03 14:53:15 +01:00
2026-03-24 09:49:17 +02:00
2026-01-23 03:21:03 +01:00
2024-07-10 12:17:09 +04:00
2024-04-18 15:22:10 +04:00
2026-04-30 01:05:25 +07:00
2026-03-12 09:16:49 +13:00
2025-07-31 20:55:47 +02:00
2025-10-08 09:05:38 +02:00
2026-02-06 17:46:52 +01:00
2024-10-15 10:50:22 +11:00
2026-04-02 09:15:17 +03:00
2026-02-06 17:46:52 +01:00
2024-06-20 11:32:13 -04:00
2025-10-08 09:05:38 +02:00
2025-11-13 22:18:13 +07:00
2026-03-24 09:49:17 +02:00
2025-08-01 18:03:20 +02:00
2025-10-08 09:05:38 +02:00
2026-04-24 10:55:15 -06:00
2025-07-31 20:55:47 +02:00
2026-04-01 10:49:05 +03:00
2026-03-17 18:57:42 +01:00
2025-10-08 09:05:38 +02:00
2026-02-07 22:12:32 +01:00
2026-02-07 22:12:32 +01:00
2025-04-29 11:18:00 +10:00
2024-06-20 11:32:13 -04:00
2025-10-08 09:05:38 +02:00
2026-02-09 15:28:24 +04:00
2026-05-06 11:35:09 +10:00
2025-08-01 18:03:20 +02:00
2026-05-06 11:35:09 +10:00
2026-01-05 20:34:44 +01:00
2026-05-06 11:35:09 +10:00
2025-04-19 10:59:58 +04:00
2025-03-14 12:08:56 +04:00
2025-04-19 10:59:58 +04:00
2026-04-24 11:57:13 +05:30
2025-08-01 18:03:20 +02:00
2025-08-01 18:03:20 +02:00
2025-08-01 18:03:20 +02:00
2026-02-09 20:55:41 +01:00
2026-02-09 20:55:41 +01:00
2026-04-02 09:15:17 +03:00
2026-05-06 11:35:09 +10:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2026-04-02 09:15:17 +03:00
2026-04-02 09:15:17 +03:00
2025-04-14 12:56:39 -04:00
2026-04-02 09:15:17 +03:00
2026-04-02 09:15:17 +03:00
2025-03-14 12:08:56 +04:00
2026-04-02 09:15:17 +03:00
2025-04-19 10:59:58 +04:00
2026-03-13 16:17:11 +01:00
2026-03-13 16:17:11 +01:00
2026-01-05 20:34:44 +01:00
2024-06-20 11:32:13 -04:00
2026-04-02 09:15:17 +03:00
2026-02-06 17:46:52 +01:00
2025-06-18 07:50:39 +02:00
2026-05-05 10:56:22 +02:00
2026-04-02 09:15:17 +03:00
2026-01-24 17:20:56 +02:00
2025-02-12 10:17:44 +01:00
2025-04-29 11:18:00 +10:00
2026-03-24 09:49:17 +02:00
2024-06-20 11:32:13 -04:00
2024-07-09 13:20:49 +02:00
2025-09-04 18:08:39 +03:00
2025-03-14 12:08:56 +04:00
2024-06-24 13:09:47 +03:00
2026-01-23 03:23:20 +01:00
2025-08-04 14:58:10 +02:00
2025-09-30 17:37:12 +03:00
2025-10-08 09:05:38 +02:00
2025-03-14 12:08:56 +04:00
2025-05-21 09:47:55 +02:00
2024-12-02 17:51:17 +02:00
2024-12-02 11:35:34 +02:00
2026-03-24 09:49:17 +02:00
2025-09-15 18:57:04 -06:00
2026-02-05 11:55:12 +11:00
2025-01-21 12:18:56 +01:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2025-09-10 15:03:59 +03:00
2026-01-08 12:02:45 +01:00
2025-08-04 14:58:10 +02:00
2025-11-28 12:56:27 +02:00
2025-11-25 13:01:26 +02:00
2024-06-10 23:29:05 +02:00
2026-01-08 12:02:45 +01:00
2025-03-14 12:08:56 +04:00
2024-06-20 11:32:13 -04:00
2025-08-04 14:58:18 +02:00
2026-03-24 09:49:17 +02:00
2024-06-20 11:32:13 -04:00
2024-06-27 10:26:09 +03:00
2026-03-24 09:49:17 +02:00
2026-03-24 09:49:17 +02:00
2024-05-10 20:02:18 +02:00
2025-10-14 14:47:35 +02:00
2026-04-02 09:15:17 +03:00
2026-04-02 09:15:17 +03:00
2025-12-15 14:47:15 +02:00
2024-09-01 02:48:19 +02:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2026-03-25 09:02:31 +11:00
2025-03-14 12:08:56 +04:00
2026-01-08 12:02:45 +01:00
2024-06-20 11:32:13 -04:00
2026-02-07 22:12:32 +01:00
2026-01-20 10:23:44 +02:00
2025-07-14 08:21:50 +02:00
2026-03-13 18:00:56 +02:00
2024-06-10 23:29:05 +02:00
2026-04-02 09:15:17 +03:00
2026-04-01 10:49:05 +03:00
2025-10-08 14:15:04 +03:00
2025-02-18 19:30:04 +01:00
2025-07-31 20:55:47 +02:00
2024-10-16 13:23:47 +02:00