[ 
https://issues.apache.org/jira/browse/KUDU-2929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16918439#comment-16918439
 ] 

ZhangYao commented on KUDU-2929:
--------------------------------

RowSet compaction will merge and flush DeltaMemStores of selected DiskRowSets, 
maybe we can accumulate the memory anchor of DeltaMemStores those were flushed 
during compaction as its memory anchor. That can add memory as a new evaluation 
dimension of compaction op, giving it opportunity to be selected by maintenance 
manager under memory pressure.

> Don't starve compactions under memory pressure
> ----------------------------------------------
>
>                 Key: KUDU-2929
>                 URL: https://issues.apache.org/jira/browse/KUDU-2929
>             Project: Kudu
>          Issue Type: Improvement
>          Components: perf, tablet
>            Reporter: Andrew Wong
>            Priority: Major
>
> When a server is under memory pressure, the maintenance manager exclusively 
> will look for the maintenance op that frees up the most memory. Some 
> operations, like compactions, do not register any amount of "anchored memory" 
> and effectively don't qualify for consideration.
> This means that when a tablet server is under memory pressure, compactions 
> will never be scheduled, even though compacting may actually end up reducing 
> memory (e.g. combining many rowsets-worth of CFileReaders into a single 
> rowset). While it makes sense to prefer flushes to compactions, it probably 
> doesn't make sense to do nothing vs compact.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to