A trick is used to make sure server-side failures( if any ) not being covered up by a client
retry. Since BulkLoadHFilesTool.bulkLoad 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.