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

Sergey Shelukhin commented on HIVE-10063:
-----------------------------------------

this is mostly by design, because we expect to cache single exact RGs and look 
up /starting with/ exact RG offset (not end though, unfortunately). If we 
cached e.g. entire file in big block that will be a problem.
Added a large comment to describe API behavior for partial matches, and 
optional ability to match partial start blocks by looking at floorKey (not used 
by default except in unit test)

> LLAP: LowLevelCacheImpl does not match cached ranges properly
> -------------------------------------------------------------
>
>                 Key: HIVE-10063
>                 URL: https://issues.apache.org/jira/browse/HIVE-10063
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Prasanth Jayachandran
>            Assignee: Sergey Shelukhin
>             Fix For: llap
>
>
> LowLevelCacheImpl uses skip list to map start disk range offset to disk 
> ranges. Find for match in the skip list uses cache.subMap() to identify 
> correct disk range. This will not work if the requested disk range offset 
> does not exactly match the cache disk range offset.
> For example: If the cache disk range is 0 - 1000 bytes and if the requested 
> disk range is 500 - 1000 there will not be cache hit. 
> We should probably use floorEntry() to get the greatest entry less than or 
> equal to provided key.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to