-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move next-segment tracking to SegmentIndex
As part of Period-flattening, I'm trying to reduce our dependence on the "position" field of SegmentReference. If it can be eliminated, we can more easily concatenate Arrays of SegmentReferences without modifying them. SegmentIndex can now track the last reference you asked for and iterate through the list of references. This means we don't need the "position" field of SegmentReference, which means we don't need to know positions in advance or globally. StreamingEngine will no longer use position to request segments. The old methods find(time):position and get(position):SegmentReference have been replaced with seek(time), current(), and next(), all of which return a SegmentReference and maintain an internal pointer to the "current" reference. Care has been taken to maintain that pointer during the evict() and fit() operations. Recent changes to merge() made sure that the pointer does not need to change during that operation. All test updates are related to the SegmentIndex API change, not changing expectations or behavior. Issue #892 (refactor StreamingEngine) Issue #1339 (period flattening) Change-Id: I1682dcc2dd625c6e390711538e46d31e6eb6cea8
- Loading branch information
1 parent
3cdb9c8
commit 235e4e1
Showing
19 changed files
with
334 additions
and
327 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.