[ 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)