Sophie Blee-Goldman created KAFKA-7929:
------------------------------------------
Summary: RocksDB Window Store allows segments to expire out from
under iterator
Key: KAFKA-7929
URL: https://issues.apache.org/jira/browse/KAFKA-7929
Project: Kafka
Issue Type: Bug
Reporter: Sophie Blee-Goldman
While we provide no guarantees about returning a snapshot when fetching from
persistent window stores, we should at least not allow old segments to expire
while an iterator over them remains open. This can result in unexpected
behavior as the number of records returned depends on how quickly the results
are read from an iterator, and you might even end up reading records with a gap
in the middle.
For example, you might fetch records between t1 and t3, then immediately read
the first record (t1) and do some processing. If enough time advances by the
time you read the second record from the iterator, record t2 may have expired,
so the next you would read is t3. Therefore you conclude there were records at
t1 and t3 but nothing at t2, which is incorrect.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)