private void fallbackToNonVectorizedModeBasedOnProperties(Properties tableProps) {
    Schema tableSchema = SchemaParser.fromJson(tableProps.getProperty(InputFormatConfig.TABLE_SCHEMA));

    if (FileFormat.AVRO.name().equalsIgnoreCase(tableProps.getProperty(TableProperties.DEFAULT_FILE_FORMAT)) ||
        isValidMetadataTable(tableProps.getProperty(IcebergAcidUtil.META_TABLE_PROPERTY)) ||
        hasOrcTimeInSchema(tableProps, tableSchema) ||
        !hasParquetNestedTypeWithinListOrMap(tableProps, tableSchema)) {
      // disable vectorization
      SessionStateUtil.getQueryState(conf).ifPresent(queryState ->
          queryState.getConf().setBoolVar(ConfVars.HIVE_VECTORIZATION_ENABLED, false));
    }
  }
If any of the following checks is true we fall back to non vectorized mode:
<ul>
  <li>fileformat is set to avro</li>
  <li>querying metadata tables</li>
  <li>fileformat is set to ORC, and table schema has time type column</li>
  <li>fileformat is set to PARQUET, and table schema has a list type column, that has a complex type element</li>
</ul>
@param tableProps table properties, must be not null
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java