static boolean canUseLlapIoForAcid(OrcSplit split, boolean hasDeletes, Configuration conf) {
    if(!split.isOriginal()) {
      return true;
    }
    VectorizedRowBatchCtx rbCtx = Utilities.getVectorizedRowBatchCtx(conf);
    if(rbCtx == null) {
      throw new IllegalStateException("Could not create VectorizedRowBatchCtx for " + split.getPath());
    }
    return !needSyntheticRowIds(split.isOriginal(), hasDeletes, areRowIdsProjected(rbCtx));
  }
{@link VectorizedOrcAcidRowBatchReader} is always used for vectorized reads of acid tables.
In some cases this cannot be used from LLAP IO elevator because
{@link RecordReader#getRowNumber()} is not (currently) available there but is required to
generate ROW__IDs for "original" files
@param hasDeletes - if there are any deletes that apply to this split
todo: HIVE-17944
ql/src/java/org/apache/hadoop/hive/ql/io/orc/VectorizedOrcAcidRowBatchReader.java