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

Sangjin Lee commented on HDFS-7598:
-----------------------------------

All individual items are +1 so I don't know why it's -1 overall. :)

> TestDFSClientCache.testEviction is not quite correct and fails with newer 
> version of guava
> ------------------------------------------------------------------------------------------
>
>                 Key: HDFS-7598
>                 URL: https://issues.apache.org/jira/browse/HDFS-7598
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 2.6.0
>            Reporter: Sangjin Lee
>            Assignee: Sangjin Lee
>            Priority: Minor
>         Attachments: HDFS-7598.001.patch
>
>
> TestDFSClientCache.testEviction() is not entirely accurate in its usage of 
> the guava LoadingCache.
> It sets the max size at 2, but asserts the loading cache will contain only 1 
> entry after inserting two entries. Guava's CacheBuilder.maximumSize() makes 
> only the following promise:
> {panel}
> Specifies the maximum number of entries the cache may contain. Note that the 
> cache may evict an entry before this limit is exceeded.
> {panel}
> Thus, the only invariant is that the loading cache will hold the maximum size 
> number of entries or fewer. The DFSClientCache.testEviction asserts it holds 
> maximum size - 1 exactly.
> For guava 11.0.2 this happens to be true at maximum size = 2 because of the 
> way it sets the maximum segment weight. With later versions of guava, the 
> maximum segment weight is set higher, and the eviction is less aggressive.
> The test should be fixed to assert only the true invariant.



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

Reply via email to