Botond Dénes
c69e1a4e12
readers: evictable_reader: skip progress guarantee when next pos is partition start
...
The evictable reader must ensure that each buffer fill makes forward
progress, i.e. the last fragment in the buffer has a position larger
than the last fragment from the last buffer-fill. Otherwise, the reader
could get stuck in an infinite loop between buffer fills, if the reader
is evicted in-between.
The code guranteeing this forward change has a bug: when the next
expected position is a partition-start (another partition), the code
would loop forever, effectively reading all there is from the underlying
reader.
To avoid this, add a special case to ignore the progress guarantee loop
altogether when the next expected position is a partition start. In this
case, progress is garanteed anyway, because there is exactly one
partition-start fragment in each partition.
Fixes : #13491
Closes #13563
(cherry picked from commit 72003dc35c )
2023-05-02 21:26:52 +03:00
..
2022-02-13 14:16:16 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-05-01 08:33:55 +03:00
2022-02-13 14:16:16 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-07-12 00:23:29 +03:00
2022-04-20 10:59:09 +03:00
2022-02-25 01:42:15 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-06-23 16:14:41 +02:00
2022-01-18 12:15:18 +01:00
2022-06-21 11:58:13 +03:00
2022-04-12 16:37:11 +03:00
2022-09-30 00:01:26 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-06-29 13:26:51 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-07-11 09:17:30 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-02-07 11:33:57 +02:00
2022-02-08 11:08:42 +01:00
2022-01-18 12:15:18 +01:00
2022-07-16 21:35:06 -03:00
2022-01-18 12:15:18 +01:00
2022-07-25 09:53:33 +02:00
2022-01-18 12:15:18 +01:00
2022-03-30 15:42:51 +03:00
2022-08-02 08:08:11 +03:00
2022-07-28 11:17:55 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-06-21 11:58:13 +03:00
2022-01-18 12:15:18 +01:00
2022-02-16 10:06:10 +02:00
2022-07-05 16:41:09 +02:00
2022-07-05 16:41:09 +02:00
2022-07-05 16:41:09 +02:00
2022-07-22 20:14:48 +03:00
2022-05-10 09:56:44 +03:00
2022-04-26 14:46:42 +03:00
2022-06-15 11:30:01 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-05-31 23:42:34 +03:00
2022-05-03 10:57:40 +03:00
2022-05-19 17:21:35 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-05-18 19:24:18 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-02-22 12:55:38 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-03-16 12:31:50 +03:00
2022-06-28 19:58:06 -03:00
2022-01-18 12:15:18 +01:00
2022-07-28 10:48:58 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-07-28 14:43:33 +03:00
2022-05-31 23:42:34 +03:00
2022-02-21 12:29:25 +02:00
2022-01-18 12:15:18 +01:00
2022-03-31 13:29:11 +03:00
2022-07-12 08:41:51 +03:00
2023-05-02 21:26:52 +03:00
2023-04-18 03:00:05 -04:00
2022-05-31 23:42:34 +03:00
2022-08-11 16:51:59 +02:00
2022-05-03 10:57:40 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-06-22 20:16:49 +02:00
2022-09-02 10:41:22 +03:00
2022-05-01 08:33:55 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-06-22 20:16:48 +02:00
2023-04-14 11:58:53 +03:00
2022-05-31 23:42:34 +03:00
2022-11-21 14:02:33 +02:00
2022-03-15 11:42:42 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-02-05 20:06:31 +02:00
2022-05-11 16:49:31 +02:00
2022-07-11 09:17:30 +02:00
2022-05-10 22:10:40 +03:00
2022-02-17 15:24:24 +02:00
2022-05-05 13:06:04 +03:00
2022-06-23 13:36:20 +03:00
2022-05-18 19:10:13 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-05-03 10:57:40 +03:00
2022-06-20 19:37:31 +03:00
2022-08-02 07:57:41 +03:00
2022-05-10 22:10:40 +03:00
2022-09-29 23:42:01 +03:00
2022-07-19 12:14:41 +03:00
2022-06-20 19:37:31 +03:00
2022-06-03 07:26:29 +03:00
2022-05-25 09:27:04 +03:00
2022-06-20 19:37:31 +03:00
2022-06-21 11:58:13 +03:00
2023-02-05 20:06:31 +02:00
2022-07-27 14:04:55 +03:00
2023-04-24 17:51:16 +03:00
2022-07-22 20:14:48 +03:00
2022-02-01 21:14:41 +01:00
2022-07-27 16:58:52 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-02-22 21:44:37 +02:00
2022-07-11 09:17:30 +02:00
2022-06-07 11:16:12 +02:00
2022-01-18 12:15:18 +01:00
2022-02-16 10:19:47 +02:00
2022-03-30 15:42:51 +03:00
2022-07-16 21:35:06 -03:00
2022-01-18 12:15:18 +01:00
2022-03-08 15:34:26 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-05-31 23:42:34 +03:00
2022-01-18 12:15:18 +01:00