Wellington Chevreuil created HBASE-29566:
--------------------------------------------
Summary: TestPrefetch.testPrefetchWithDelay seems flakey
Key: HBASE-29566
URL: https://issues.apache.org/jira/browse/HBASE-29566
Project: HBase
Issue Type: Bug
Reporter: Wellington Chevreuil
Noticed this TestPrefetch.testPrefetchWithDelay failing intermittently at
branch-2.6 at least.
{noformat}
java.lang.AssertionError: Prefetch delay has not been expired yet
at org.junit.Assert.fail(Assert.java:89)
at org.junit.Assert.assertTrue(Assert.java:42)
at
org.apache.hadoop.hbase.io.hfile.TestPrefetch.testPrefetchWithDelay(TestPrefetch.java:330)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
{noformat}
I believe the problem is in the while condition block:
{noformat}
...
while (!reader.prefetchStarted()) {
assertTrue("Prefetch delay has not been expired yet",
getElapsedTime(startTime) < PrefetchExecutor.getPrefetchDelay());
}
...
{noformat}
We are assuming prefetch will start right away the delay, but this may not be
guaranteed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)