Class TestScannerTimeoutHandling
java.lang.Object
org.apache.hadoop.hbase.regionserver.TestScannerTimeoutHandling
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final HBaseClassTestRuleprivate static org.apache.hadoop.hbase.client.Connectionprivate static final org.slf4j.Loggerprivate static final MetricsAssertHelperorg.junit.rules.TestNameprivate static final org.apache.hadoop.hbase.TableNameprivate static final HBaseTestingUtilityprivate static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidstatic voidvoidIf 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
-