public void run(long startKeyIn, long maxQueriesIn) throws IOException {

          long maxQueries = maxQueriesIn > 0 ? maxQueriesIn : Long.MAX_VALUE;
          byte[] startKey = Bytes.toBytes(startKeyIn);

          Connection connection = ConnectionFactory.createConnection(getConf());
          Table table = connection.getTable(getTableName(getConf()));
          long numQueries = 0;
          // If isSpecificStart is set, only walk one list from that particular node.
          // Note that in case of circular (or P-shaped) list it will walk forever, as is
          // the case in normal run without startKey.

          CINode node = findStartNode(table, startKey);
          if (node == null) {
            LOG.error("Start node not found: " + Bytes.toStringBinary(startKey));
            throw new IOException("Start node not found: " + startKeyIn);
          }
          while (numQueries < maxQueries) {
            numQueries++;
            byte[] prev = node.prev;
            node = getNode(prev, table, node);
            if (node == null) {
              LOG.error("ConcurrentWalker found UNDEFINED NODE: " + Bytes.toStringBinary(prev));
              context.getCounter(GeneratorCounts.UNDEFINED).increment(1l);
            } else if (node.prev.length == NO_KEY.length) {
              LOG.error(
                "ConcurrentWalker found TERMINATING NODE: " + Bytes.toStringBinary(node.key));
              context.getCounter(GeneratorCounts.TERMINATING).increment(1l);
            } else {
              // Increment for successful walk
              context.getCounter(GeneratorCounts.SUCCESS).increment(1l);
            }
          }
          table.close();
          connection.close();
        }
Randomly selects and walks a random flushed loop concurrently with the Generator Mapper by
spawning ConcurrentWalker's with specified StartNodes. These ConcurrentWalker's are
configured to only log erroneous nodes.
hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java