Class TestScannerTimeoutHandling
java.lang.Object
org.apache.hadoop.hbase.regionserver.TestScannerTimeoutHandling
-
Nested Class Summary
Modifier and TypeClassDescriptionprivate static class
private static class
-
Field Summary
Modifier and TypeFieldDescriptionstatic final HBaseClassTestRule
private static org.apache.hadoop.hbase.client.Connection
private static final org.slf4j.Logger
private static final MetricsAssertHelper
org.junit.rules.TestName
private static final org.apache.hadoop.hbase.TableName
private static final HBaseTestingUtility
private static final int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
static void
void
If a client's timeout would be exceeded before scan results are ready, there is no point returning results to the client.
-
Field Details
-
LOG
-
CLASS_RULE
-
TEST_UTIL
-
METRICS_ASSERT
-
TIMEOUT
- See Also:
-
TABLE_NAME
-
CONN
-
name
-
-
Constructor Details
-
TestScannerTimeoutHandling
public TestScannerTimeoutHandling()
-
-
Method Details
-
setUpBeforeClass
- Throws:
Exception
-
tearDownAfterClass
- Throws:
Exception
-
testExceededClientDeadline
If a client's timeout would be exceeded before scan results are ready, there is no point returning results to the client. Worse, for openScanner calls, the client cannot close the timed out scanner so this leaks scanners on the server. This test verifies that we properly track and cleanup scanners when a client timeout is exceeded. This should be more rare when heartbeats are enabled, since we try to return before timeout there. But it's still possible if queueing eats up most of the timeout or the inner workings of the scan were slowed down enough to still exceed the timeout despite the calculated heartbeat deadline.- Throws:
Exception
-