SerializableRowList get(int targetIndex) throws IOException {
      if (!containsKey(targetIndex)) {
        if (cacheCapacity <= super.size()) {
          int lastIndex = getLast();
          if (lastIndex < evictionUpperBound / internalRowListCapacity) {
            internalRowList.set(lastIndex, null);
          } else {
            internalRowList.get(lastIndex).serialize();
          }
        }
        internalRowList.get(targetIndex).deserialize();
      }
      putKey(targetIndex);
      return internalRowList.get(targetIndex);
    }
Set the upper bound.

@param evictionUpperBound the index of the first element that cannot be evicted. in other
    words, elements whose index are <b>less than</b> the evictionUpperBound can be evicted.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/datastructure/row/ElasticSerializableRowList.java