@Override
    public List<OrcSplit> getSplits() throws IOException {
      List<OrcSplit> splits = Lists.newArrayList();

      // When split-update is enabled, we do not need to account for buckets that aren't covered.
      // This is a huge performance benefit of split-update. And the reason why we are able to
      // do so is because the 'deltas' here are actually only the delete_deltas. All the insert_deltas
      // with valid user payload data has already been considered as base for the covered buckets.
      // Hence, the uncovered buckets do not have any relevant data and we can just ignore them.
      if (acidOperationalProperties != null && acidOperationalProperties.isSplitUpdate()) {
        return Collections.emptyList();
      }

      // Generate a split for any buckets that weren't covered.
      // This happens in the case where a bucket just has deltas and no
      // base.
      if (!deltas.isEmpty()) {
        //since HIVE-17089 if here, then it's not an acid table so there should never be any deltas
        throw new IllegalStateException("Found unexpected deltas: " + deltas + " in " + dir);
      }
      return splits;
    }
@param dir root of partition dir
ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java