Program: 61061
Project: 61061
Buggy source:
public void runTestAtomicity(long millisToRun,int numWriters,int numGetters,int numScanners,int numUniqueRows,final boolean systemTest,final boolean useMob) throws Exception {
  createTableIfMissing(useMob);
  TestContext ctx=new TestContext(util.getConfiguration());
  byte rows[][]=new byte[numUniqueRows][];
  for (int i=0; i < numUniqueRows; i++) {
    rows[i]=Bytes.toBytes("String_Node_Str" + i);
  }
  List<AtomicityWriter> writers=Lists.newArrayList();
  for (int i=0; i < numWriters; i++) {
    AtomicityWriter writer=new AtomicityWriter(ctx,rows,FAMILIES,getSharedThreadPool());
    writers.add(writer);
    ctx.addThread(writer);
  }
  ctx.addThread(new RepeatingTestThread(ctx){
    Admin admin=util.getAdmin();
    public void doAnAction() throws Exception {
      try {
        admin.flush(TABLE_NAME);
      }
 catch (      IOException ioe) {
        LOG.warn("String_Node_Str" + StringUtils.stringifyException(ioe));
      }
      if (systemTest)       Thread.sleep(60000);
    }
  }
);
  List<AtomicGetReader> getters=Lists.newArrayList();
  for (int i=0; i < numGetters; i++) {
    AtomicGetReader getter=new AtomicGetReader(ctx,rows[i % numUniqueRows],FAMILIES,getSharedThreadPool());
    getters.add(getter);
    ctx.addThread(getter);
  }
  List<AtomicScanReader> scanners=Lists.newArrayList();
  for (int i=0; i < numScanners; i++) {
    AtomicScanReader scanner=new AtomicScanReader(ctx,FAMILIES,getSharedThreadPool());
    scanners.add(scanner);
    ctx.addThread(scanner);
  }
  ctx.startThreads();
  ctx.waitFor(millisToRun);
  ctx.stop();
  LOG.info("String_Node_Str");
  for (  AtomicityWriter writer : writers) {
    LOG.info("String_Node_Str" + writer.numWritten.get());
  }
  LOG.info("String_Node_Str");
  for (  AtomicGetReader reader : getters) {
    LOG.info("String_Node_Str" + reader.numRead.get());
  }
  LOG.info("String_Node_Str");
  for (  AtomicScanReader scanner : scanners) {
    LOG.info("String_Node_Str" + scanner.numScans.get());
    LOG.info("String_Node_Str" + scanner.numRowsScanned.get() + "String_Node_Str");
  }
}

Fixed version (ground truth):
public void runTestAtomicity(long millisToRun,int numWriters,int numGetters,int numScanners,int numUniqueRows,final boolean systemTest,final boolean useMob) throws Exception {
  createTableIfMissing(useMob);
  util.getConfiguration().setInt("String_Node_Str",40);
  TestContext ctx=new TestContext(util.getConfiguration());
  byte rows[][]=new byte[numUniqueRows][];
  for (int i=0; i < numUniqueRows; i++) {
    rows[i]=Bytes.toBytes("String_Node_Str" + i);
  }
  List<AtomicityWriter> writers=Lists.newArrayList();
  for (int i=0; i < numWriters; i++) {
    AtomicityWriter writer=new AtomicityWriter(ctx,rows,FAMILIES,getSharedThreadPool());
    writers.add(writer);
    ctx.addThread(writer);
  }
  ctx.addThread(new RepeatingTestThread(ctx){
    Admin admin=util.getAdmin();
    public void doAnAction() throws Exception {
      try {
        admin.flush(TABLE_NAME);
      }
 catch (      IOException ioe) {
        LOG.warn("String_Node_Str" + StringUtils.stringifyException(ioe));
      }
      if (systemTest)       Thread.sleep(60000);
    }
  }
);
  List<AtomicGetReader> getters=Lists.newArrayList();
  for (int i=0; i < numGetters; i++) {
    AtomicGetReader getter=new AtomicGetReader(ctx,rows[i % numUniqueRows],FAMILIES,getSharedThreadPool());
    getters.add(getter);
    ctx.addThread(getter);
  }
  List<AtomicScanReader> scanners=Lists.newArrayList();
  for (int i=0; i < numScanners; i++) {
    AtomicScanReader scanner=new AtomicScanReader(ctx,FAMILIES,getSharedThreadPool());
    scanners.add(scanner);
    ctx.addThread(scanner);
  }
  ctx.startThreads();
  ctx.waitFor(millisToRun);
  ctx.stop();
  LOG.info("String_Node_Str");
  for (  AtomicityWriter writer : writers) {
    LOG.info("String_Node_Str" + writer.numWritten.get());
  }
  LOG.info("String_Node_Str");
  for (  AtomicGetReader reader : getters) {
    LOG.info("String_Node_Str" + reader.numRead.get());
  }
  LOG.info("String_Node_Str");
  for (  AtomicScanReader scanner : scanners) {
    LOG.info("String_Node_Str" + scanner.numScans.get());
    LOG.info("String_Node_Str" + scanner.numRowsScanned.get() + "String_Node_Str");
  }
}