hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sangjin Lee (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-7598) TestDFSClientCache.testEviction is not quite correct and fails with newer version of guava
Date Fri, 09 Jan 2015 20:24:34 GMT
Sangjin Lee created HDFS-7598:
---------------------------------

             Summary: 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


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)

Mime
View raw message