@Override
      protected void bulkLoadPhase(final AsyncClusterConnection conn, final TableName tableName,
        final Deque<LoadQueueItem> queue, final Multimap<ByteBuffer, LoadQueueItem> regionGroups,
        final boolean copyFiles, final Map<LoadQueueItem, ByteBuffer> item2RegionMap)
        throws IOException {

        int i = attemptedCalls.incrementAndGet();
        if (i == 1) {
          // On first attempt force a split.
          forceSplit(table);
        }

        // Passing item2RegionMap null
        // In the absence of LoadQueueItem, bulk load should work as expected
        super.bulkLoadPhase(conn, tableName, queue, regionGroups, copyFiles, null);
      }
We are testing a split after initial validation but before the atomic bulk load call. We cannot
use presplitting to test this path, so we actually inject a split just before the atomic region
load. However, we will pass null item2RegionMap and that should not affect the bulk load
behavior.
hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestBulkLoadHFilesSplitRecovery.java