You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Sophie Blee-Goldman (JIRA)" <ji...@apache.org> on 2019/02/13 23:11:00 UTC

[jira] [Created] (KAFKA-7929) RocksDB Window Store allows segments to expire out from under iterator

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)