private boolean processOneSlice(Vectors diskData, boolean[] splitIncludes, int stripeIx,
      StripeData cacheData, long startTime) throws IOException, InterruptedException {
    if (diskData == null) {
      throw new AssertionError(); // The other overload should have been used.
    }
    // LlapIoImpl.LOG.debug("diskData " + diskData);
    logProcessOneSlice(stripeIx, diskData, cacheData);

    if (cacheData == null && diskData.getRowCount() == 0) {
      return true; // Nothing to process.
    }
    ColumnEncoding[] cacheEncodings = cacheData == null ? null : cacheData.getEncodings();
    LlapSerDeDataBuffer[][][] cacheBuffers = cacheData == null ? null : cacheData.getData();
    if (cacheData != null) {
      // Don't validate column count - no encodings for vectors.
      validateCacheAndDisk(cacheData, diskData.getRowCount(), -1, diskData);
    }
    SerDeStripeMetadata metadata = new SerDeStripeMetadata(stripeIx);
    metadata.setEncodings(Arrays.asList(cacheEncodings == null
        ? new ColumnEncoding[splitIncludes.length] : cacheEncodings));
    metadata.setRowCount(diskData.getRowCount());
    if (LlapIoImpl.LOG.isTraceEnabled()) {
      LlapIoImpl.LOG.trace("Derived stripe metadata for this split is " + metadata);
    }
    consumer.setStripeMetadata(metadata);

    OrcEncodedColumnBatch ecb = useObjectPools ? ECB_POOL.take() : new OrcEncodedColumnBatch();
    ecb.init(fileKey, metadata.getStripeIx(), OrcEncodedColumnBatch.ALL_RGS, writerIncludes.length);
    int vectorsIx = 0;
    for (int colIx = 0; colIx < writerIncludes.length; ++colIx) {
      // Skip the 0-th column, since it won't have a vector after reading the text source.
      if (colIx == 0) continue;
      if (!writerIncludes[colIx]) continue;
      if (splitIncludes[colIx]) {
        List<ColumnVector> vectors = diskData.getVectors(vectorsIx++);
        if (LlapIoImpl.LOG.isTraceEnabled()) {
          LlapIoImpl.LOG.trace("Processing vectors for column " + colIx + ": " + vectors);
        }
        ecb.initColumnWithVectors(colIx, vectors);
      } else {
        ecb.initColumn(colIx, OrcEncodedColumnBatch.MAX_DATA_STREAMS);
        processColumnCacheData(cacheBuffers, ecb, colIx);
      }
    }
    if (processStop()) {
      recordReaderTime(startTime);
      return false;
    }
    return sendEcbToConsumer(ecb, cacheData != null, null);
  }
Unlike the other overload of processOneSlice, doesn't cache data.
llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java