Class TestSecureBulkLoadManager.MyExceptionToAvoidRetry

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
org.apache.hadoop.hbase.HBaseIOException
org.apache.hadoop.hbase.DoNotRetryIOException
org.apache.hadoop.hbase.regionserver.TestSecureBulkLoadManager.MyExceptionToAvoidRetry
All Implemented Interfaces:
Serializable
Enclosing class:
TestSecureBulkLoadManager

class TestSecureBulkLoadManager.MyExceptionToAvoidRetry extends org.apache.hadoop.hbase.DoNotRetryIOException
A trick is used to make sure server-side failures( if any ) not being covered up by a client retry. Since LoadIncrementalHFiles.doBulkLoad keeps performing bulkload calls as long as the HFile queue is not empty, while server-side exceptions in the doAs block do not lead to a client exception, a bulkload will always succeed in this case by default, thus client will never be aware that failures have ever happened . To avoid this kind of retry , a MyExceptionToAvoidRetry exception is thrown after bulkLoadPhase finished and caught silently outside the doBulkLoad call, so that the bulkLoadPhase would be called exactly once, and server-side failures, if any ,can be checked via data.