@Override
    public boolean next(RecordIdentifier identifier, Text text) throws IOException {
      if (is == null) {
        // Open the next file
        if (filesToRead.empty()) {
          return false;
        }
        Path p = filesToRead.pop();
        LOG.debug("Reading records from " + p.toString());
        is = fs.open(p);
      }
      String line = null;
      try {
        identifier.readFields(is);
        line = is.readLine();
      } catch (EOFException e) {
      }
      if (line == null) {
        // Set our current entry to null (since it's done) and try again.
        is = null;
        return next(identifier, text);
      }
      text.set(line);
      return true;
    }
This is bogus especially with split update acid tables.  This causes compaction to create
delete_delta_x_y where none existed before.  Makes the data layout such as would never be
created by 'real' code path.
ql/src/test/org/apache/hadoop/hive/ql/txn/compactor/CompactorTest.java