xinyiZzz opened a new issue #5907:
URL: https://github.com/apache/incubator-doris/issues/5907


   **Describe the bug**
   When `in_memory=true` is specified in `create table`, currently doris will 
specify the LRU priority as `DURABLE` when reading the table data and caching 
it through the `page cache`.
   
   After the `page cache` is filled, the LRU strategy will be used to traverse 
the `lru list` to try to evict the longest unused `NORMAL` priority page. The 
page with priority `DURABLE` will be skipped. After traversing the `lru' List` 
and evict all `NORMAL pages` and try to evict `DURABLE page` if there is still 
insufficient space.
   
   This will cause the page cache of `in memory table` to always accumulate at 
the end of the `lru list`, and it will be traversed every time LRU evict, which 
will consume a lot of CPU when the cache is full.
   
   
   **To Reproduce**
   1) Try to fill up `DURABLE page` in `page cache` in 
`StoragePageCache::StoragePageCache`:
   2) Comment out the statement of `cache->lookup` in 
`PageIO::read_and_decompress_page`
   
   
   **Expected behavior**
   After submitting the query, `perf` can see that the 
`LRUCache::_evict_from_lru` method consumes a lot of CPU.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to