hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-13668) TestFlushRegionEntry is flaky
Date Sat, 16 May 2015 18:21:59 GMT

    [ https://issues.apache.org/jira/browse/HBASE-13668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14546334#comment-14546334
] 

Andrew Purtell edited comment on HBASE-13668 at 5/16/15 6:21 PM:
-----------------------------------------------------------------

Related, and what I've seen up on Jenkins before:
{noformat}
test(org.apache.hadoop.hbase.regionserver.TestFlushRegionEntry)  Time elapsed: 1.452 sec 
<<< FAILURE!
java.lang.AssertionError: expected:<369241501> but was:<-369241502>
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failNotEquals(Assert.java:743)
	at org.junit.Assert.assertEquals(Assert.java:118)
	at org.junit.Assert.assertEquals(Assert.java:555)
	at org.junit.Assert.assertEquals(Assert.java:542)
	at org.apache.hadoop.hbase.regionserver.TestFlushRegionEntry.test(TestFlushRegionEntry.java:40)
{noformat}

FlushRegionEntry includes the amount of remaining delay, a _wall clock time dependent value_,
into its calculation of hashCode. The test injects a ManualEnvironmentEdge with a fixed value
for currentTime, with the expectation this will produce objects that are equal to each other,
but TestFlushRegionEntry is a small test, so isn't the only test running in the JVM, or using
EnvironmentEdgeManager.


was (Author: apurtell):
Related, and what I've seen up on Jenkins before:
{noformat}
test(org.apache.hadoop.hbase.regionserver.TestFlushRegionEntry)  Time elapsed: 1.452 sec 
<<< FAILURE!
java.lang.AssertionError: expected:<369241501> but was:<-369241502>
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failNotEquals(Assert.java:743)
	at org.junit.Assert.assertEquals(Assert.java:118)
	at org.junit.Assert.assertEquals(Assert.java:555)
	at org.junit.Assert.assertEquals(Assert.java:542)
	at org.apache.hadoop.hbase.regionserver.TestFlushRegionEntry.test(TestFlushRegionEntry.java:40)
{noformat}

FlushRegionEntry includes the amount of remaining delay, a _wall clock time dependent value_,
into its calculation of hashCode. The test injects a ManualEnvironmentEdge with a fixed value
for currentTime, with the expectation this will produce objects that are equal to each other,
but TestFlushRegionEntry is a small test, so isn't the only test running in the JVM, or using
EnvironmentEdgeManager.

Rather than messing with EnviornmentEdgeManager this test should probably spy on the FlushRegionEntry
objects and substitute a fixed value for the potentially variable return value from FlushRegionEntry#getDelay().

> TestFlushRegionEntry is flaky
> -----------------------------
>
>                 Key: HBASE-13668
>                 URL: https://issues.apache.org/jira/browse/HBASE-13668
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.13
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>
> {noformat}
> Flaked tests: 
> org.apache.hadoop.hbase.regionserver.TestFlushRegionEntry.test
>     (org.apache.hadoop.hbase.regionserver.TestFlushRegionEntry)
>   Run 1: TestFlushRegionEntry.test:41 expected:
>        org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushRegionEntry<[flush
region null]>
>      but was:
>        org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushRegionEntry<[flush
region null]>
>   Run 2: PASS
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message