public void visit()

in src/main/java/org/apache/accumulo/testing/randomwalk/concurrent/BatchScan.java [45:75]


  public void visit(State state, RandWalkEnv env, Properties props) throws Exception {
    AccumuloClient client = env.getAccumuloClient();
    Random rand = state.getRandom();
    String tableName = state.getRandomTableName();

    try (BatchScanner bs = client.createBatchScanner(tableName, Authorizations.EMPTY, 3)) {
      List<Range> ranges = new ArrayList<>();
      for (int i = 0; i < rand.nextInt(2000) + 1; i++)
        ranges.add(new Range(String.format("%016x", rand.nextLong() & 0x7fffffffffffffffL)));

      bs.setRanges(ranges);

      Iterator<Entry<Key,Value>> iter = bs.iterator();
      while (iter.hasNext())
        iter.next();

      log.debug("Wrote to " + tableName);
    } catch (TableNotFoundException e) {
      log.debug("BatchScan " + tableName + " failed, doesn't exist");
    } catch (TableDeletedException tde) {
      log.debug("BatchScan " + tableName + " failed, table deleted");
    } catch (TableOfflineException e) {
      log.debug("BatchScan " + tableName + " failed, offline");
    } catch (RuntimeException e) {
      if (e.getCause() instanceof AccumuloSecurityException) {
        log.debug("BatchScan " + tableName + " failed, permission error");
      } else {
        throw e;
      }
    }
  }