[ https://issues.apache.org/jira/browse/HDFS-7598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colin Patrick McCabe updated HDFS-7598: --------------------------------------- Issue Type: Improvement (was: Bug) This isn't technically a bug since the test is correct for the version of Guava we currently use. But let's future-proof it with this improvement. > Remove dependency on old version of Guava in TestDFSClientCache#testEviction > ---------------------------------------------------------------------------- > > Key: HDFS-7598 > URL: https://issues.apache.org/jira/browse/HDFS-7598 > Project: Hadoop HDFS > Issue Type: Improvement > 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)