[
https://issues.apache.org/jira/browse/HDFS-7598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sangjin Lee updated HDFS-7598:
------------------------------
Attachment: HDFS-7598.001.patch
Patch posted.
> 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)