Botond Dénes
72003dc35c
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
2023-05-02 16:19:32 +03:00
..
2023-03-07 17:54:53 +08:00
2023-05-02 11:04:05 +03:00
2023-04-07 20:32:28 +08:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-03-22 13:48:50 +02:00
2023-02-01 20:14:51 -03:00
2023-02-15 11:01:50 +02:00
2023-03-21 13:15:12 +02:00
2023-02-15 11:01:50 +02:00
2023-02-14 11:19:03 +02:00
2023-02-01 20:14:51 -03:00
2023-02-19 21:05:45 +02:00
2023-02-15 11:01:50 +02:00
2023-03-21 13:15:12 +02:00
2023-02-19 12:58:22 +08:00
2023-02-01 20:14:51 -03:00
2023-04-13 14:57:00 +03:00
2023-02-01 20:14:51 -03:00
2023-03-22 04:58:01 -04:00
2023-02-15 11:01:50 +02:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-15 11:01:50 +02:00
2023-02-01 20:14:51 -03:00
2023-02-28 21:56:53 +08:00
2023-02-15 11:01:50 +02:00
2023-02-15 11:01:50 +02:00
2023-02-15 11:01:50 +02:00
2023-04-06 09:51:32 -04:00
2022-11-16 16:30:38 +02:00
2023-04-17 14:08:37 +03:00
2023-04-24 09:31:08 +03:00
2023-02-01 20:14:51 -03:00
2023-04-27 10:24:46 +03:00
2023-02-15 11:09:04 +02:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-04-29 13:11:31 +02:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-05-02 07:58:34 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-15 11:01:50 +02:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-04-24 14:06:43 +03:00
2023-02-01 20:14:51 -03:00
2022-08-08 08:02:27 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-19 21:05:45 +02:00
2023-02-19 21:05:45 +02:00
2023-02-01 20:14:51 -03:00
2023-03-21 13:15:12 +02:00
2023-02-01 20:14:51 -03:00
2023-04-20 23:39:18 +02:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-04-17 14:08:37 +03:00
2023-03-21 13:15:12 +02:00
2023-02-15 11:01:50 +02:00
2023-04-05 10:32:58 +02:00
2023-03-22 04:58:01 -04:00
2023-02-15 11:01:50 +02:00
2023-05-02 16:19:32 +03:00
2023-04-27 09:40:18 +02:00
2023-02-28 21:56:53 +08:00
2023-02-28 21:56:53 +08:00
2023-04-24 10:49:37 +02:00
2023-02-15 11:01:50 +02:00
2023-04-24 10:49:37 +02:00
2023-02-14 11:19:03 +02:00
2023-03-31 07:08:41 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-15 11:01:50 +02:00
2023-02-14 11:19:03 +02:00
2023-04-26 09:00:25 +03:00
2023-02-28 21:56:53 +08:00
2023-04-13 15:20:18 +03:00
2023-02-03 19:04:32 +01:00
2023-02-28 21:56:53 +08:00
2023-02-01 20:14:51 -03:00
2023-02-28 21:56:53 +08:00
2023-04-26 22:09:17 +02:00
2023-02-01 20:14:51 -03:00
2023-05-02 07:58:34 +03:00
2023-04-19 12:51:12 +03:00
2023-04-27 09:40:18 +02:00
2023-03-22 13:59:47 +02:00
2023-02-01 20:14:51 -03:00
2023-02-15 11:01:50 +02:00
2023-03-07 17:54:53 +08:00
2023-04-21 09:43:53 +03:00
2023-02-01 20:14:51 -03:00
2023-04-27 10:24:46 +03:00
2023-04-27 10:24:46 +03:00
2023-02-28 21:56:53 +08:00
2023-04-24 10:49:36 +02:00
2023-05-02 07:58:34 +03:00
2023-02-01 20:14:51 -03:00
2023-05-02 07:58:34 +03:00
2023-04-10 16:43:01 +03:00
2023-03-22 13:48:50 +02:00
2023-03-22 13:59:47 +02:00
2023-02-17 17:58:26 +03:00
2023-03-19 17:48:22 +02:00
2023-05-02 07:58:34 +03:00
2023-04-21 22:02:30 +08:00
2023-03-22 13:59:47 +02:00
2023-04-23 21:34:02 +03:00
2023-04-29 13:11:31 +02:00
2023-04-24 10:49:36 +02:00
2023-05-02 10:48:46 +03:00
2023-03-27 01:44:00 -04:00
2022-07-27 16:58:52 +03:00
2023-04-24 10:49:37 +02:00
2023-04-17 14:08:37 +03:00
2023-02-15 11:09:04 +02:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-19 21:05:45 +02:00
2023-03-09 17:51:15 +01:00
2023-02-28 21:56:53 +08:00
2023-04-26 14:09:58 +08:00
2023-05-02 07:58:34 +03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-02-01 20:14:51 -03:00
2023-03-16 20:34:18 +08:00
2023-03-06 13:17:21 +03:00
2023-02-15 11:01:50 +02:00
2023-02-01 20:14:51 -03:00
2023-03-28 18:18:48 +02:00
2023-03-28 18:18:48 +02:00