Clone
luochen <cluo8@uci.edu>
committed
on 12 Jun
[ASTERIXDB-2730][STO] Optimize flush in GVBC
- user model changes: no
- storage format changes: no
- interface changes: yes. Introduce a new… Show more
[ASTERIXDB-2730][STO] Optimize flush in GVBC

- user model changes: no

- storage format changes: no

- interface changes: yes. Introduce a new storage property:

storage.memorycomponent.max.concurrent.flushes (default 0)

Details:

- Introduce a new storage property to allow concurrent flushes

by GVBC. The default value is 0, which means that the flush concurency

will be the same as the number of NC partitions.

- Move cleaning up of a memory component out of the synchronization block

on op tracker because this may take a relatively long time (a full scan over

all GVBC pages).

- Introduce a minor fix to make sure the memory component is unwritable

before requesting flushing it by GVBC

Change-Id: Id8867fa3ac65da319723b804cc1e39dc8eb6bde5

Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/6624

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

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

Show less