[ https://issues.apache.org/jira/browse/ASTERIXDB-2600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chen Luo resolved ASTERIXDB-2600. --------------------------------- Resolution: Implemented > Introduce ConcurrentMergePolicy > ------------------------------- > > Key: ASTERIXDB-2600 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-2600 > Project: Apache AsterixDB > Issue Type: Improvement > Reporter: Chen Luo > Assignee: Chen Luo > Priority: Major > > The default PrefixMergePolicy has a number of problems: it only schedules 1 > merge at a time; it stops merging components when they are too large. Both > problems will lead to undesirable performance behavior. This issue introduces > a ConcurrentMergePolicy that fixes these problems. > It has the following four parameters: > * minComponentMergeCount: the minimum number of components to trigger a merge > * maxComponentMergeCount: the maximum number of components per merge > * maxComponentCount: the maximum number of components tolerated in total; > when this number is reached, flush will be stopped > * sizeRatio: a merge is scheduled if the size of the oldest component <= > sizeRatio * total size of youngest components. A larger size ratio(>1) > implies fewer merges, but this leads to more components. A smaller size ratio > (<1) implies more merges, but this improves query performance and space > utilization. > Concurrent merges will be scheduled as well. Given a sequence of components > ordered by newest to oldest, this policy first finds a longest prefix of this > sequence so that no component is being merged. The merge decision will then > be based on this prefix. -- This message was sent by Atlassian Jira (v8.3.4#803005)