[ 
https://issues.apache.org/jira/browse/HBASE-28976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Wellington Chevreuil resolved HBASE-28976.
------------------------------------------
    Resolution: Fixed

Merged to master, branch-3, branch-2 and branch-2.6.

> Fix UT flakeyness in TestBucketCache.testBlockAdditionWaitWhenCache and 
> TestVerifyBucketCacheFile.testRetrieveFromFile
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-28976
>                 URL: https://issues.apache.org/jira/browse/HBASE-28976
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0-beta-1, 2.7.0, 2.6.1, 2.5.10
>            Reporter: Wellington Chevreuil
>            Assignee: Wellington Chevreuil
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.0.0, 2.7.0, 2.6.2
>
>
> Noticed these two tests failing intermittently on some of the pre-commit 
> runs. 
> 1) TestBucketCache.testBlockAdditionWaitWhenCache: The test calls 
> BucketCache.cacheBlock() passing true to the waitWhenCache parameter, 
> assuming the cache call will wait for a success cache, however this is only 
> true if the BucketCache.QUEUE_ADDITION_WAIT_TIME property is also defined, so 
> I believe this may be causing the intermittent failures when the pre-commit 
> runs on slower vms.
>  
> 2) TestVerifyBucketCacheFile.testRetrieveFromFile: One of the checks 
> performed by this test is to delete the bucket cache file, shutdown the 
> current BucketCache instance, then create a new BucketCache instance that 
> would load the persistent file but should fail to recover the cache, as the 
> cache file has been deleted. The way this recover works, internally, is 
> async. We first read the contents of the persistent file, which includes the 
> last serialized backingMap and a checksum of the cache file at that time. It 
> then compares this recovered checksum against the current cache file 
> checksum. If this verification fails, it starts a background thread to 
> traverse all backingMap entries and check if those entries are still 
> available in the cache. At this point, the test is ready to check the 
> BucketCache allocator size, expecting it to be 0, but if the background 
> verification has not finished yet, this assert will fail.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to