Clone
luochen <cluo8@uci.edu>
committed
on 26 Sep 19
[ASTERIXDB-2541][STO] Introduce GreedyScheduler
- user model changes: yes.
Add new option: storage.io.scheduler (async/greedy)
- storage … Show more
[ASTERIXDB-2541][STO] Introduce GreedyScheduler

- user model changes: yes.

  Add new option: storage.io.scheduler (async/greedy)

- storage format changes: no.

- interface changes: yes.

 Introduce IIndexCursorStats

Details:

- Introduce GreedyScheduler that always executes the merge

operation with the smallest number of remaining pages to minimize

the number of disk components

- Introduce IIndexCursorStats to collect the statistics of index scans.

This allows GreedyScheduler to know the remaning pages of merge

operations.

- Extend AbstractIoOperation so that GreedyScheduler can pause/resume

merge operations if needed.

Change-Id: I38fe394d1180d4e3f6796064c0e6c6630b6ad303

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3284

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Michael Blow <mblow@apache.org>

Show less