You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by lp...@apache.org on 2022/05/23 13:11:06 UTC

[hive] branch master updated: HIVE-26251: Disable vectorization when querying iceberg metadata tables (#3306) (Laszlo Pinter, reviewed by Adam Szita)

This is an automated email from the ASF dual-hosted git repository.

lpinter pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 35d4532b0c0 HIVE-26251: Disable vectorization when querying iceberg metadata tables (#3306) (Laszlo Pinter, reviewed by Adam Szita)
35d4532b0c0 is described below

commit 35d4532b0c08f4f5fbb5dc897c4330cba434bc7c
Author: László Pintér <47...@users.noreply.github.com>
AuthorDate: Mon May 23 15:11:00 2022 +0200

    HIVE-26251: Disable vectorization when querying iceberg metadata tables (#3306) (Laszlo Pinter, reviewed by Adam Szita)
---
 .../java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java    | 4 +++-
 .../queries/positive/query_iceberg_metadata_of_partitioned_table.q    | 1 -
 .../queries/positive/query_iceberg_metadata_of_unpartitioned_table.q  | 1 -
 .../src/test/queries/positive/query_iceberg_metadata_with_joins.q     | 1 -
 4 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java
index 2ecbcf99af8..ba066ed0db1 100644
--- a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java
+++ b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java
@@ -780,12 +780,14 @@ public class HiveIcebergStorageHandler implements HiveStoragePredicateHandler, H
    * <ul>
    *   <li>iceberg format-version is "2"</li>
    *   <li>fileformat is set to avro</li>
+   *   <li>querying metadata tables</li>
    * </ul>
    * @param tableProps table properties, must be not null
    */
   private void fallbackToNonVectorizedModeBasedOnProperties(Properties tableProps) {
     if ("2".equals(tableProps.get(TableProperties.FORMAT_VERSION)) ||
-        FileFormat.AVRO.name().equalsIgnoreCase(tableProps.getProperty(TableProperties.DEFAULT_FILE_FORMAT))) {
+        FileFormat.AVRO.name().equalsIgnoreCase(tableProps.getProperty(TableProperties.DEFAULT_FILE_FORMAT)) ||
+        (tableProps.containsKey("metaTable") && isValidMetadataTable(tableProps.getProperty("metaTable")))) {
       conf.setBoolean(HiveConf.ConfVars.HIVE_VECTORIZATION_ENABLED.varname, false);
     }
   }
diff --git a/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_partitioned_table.q b/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_partitioned_table.q
index bf56c6bad2f..90ce35b52df 100644
--- a/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_partitioned_table.q
+++ b/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_partitioned_table.q
@@ -4,7 +4,6 @@
 --! qt:replace:/("total-files-size":)\d+/$1#Masked#/
 --! qt:replace:/((ORC|PARQUET|AVRO)\s+\d+\s+)\d+/$1#Masked#/
 
-set hive.vectorized.execution.enabled = false;
 set tez.mrreader.config.update.properties=hive.io.file.readcolumn.names,hive.io.file.readcolumn.ids;
 set hive.query.results.cache.enabled=false;
 set hive.fetch.task.conversion=none;
diff --git a/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_unpartitioned_table.q b/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_unpartitioned_table.q
index 2272417277d..03efa29f2dd 100644
--- a/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_unpartitioned_table.q
+++ b/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_of_unpartitioned_table.q
@@ -4,7 +4,6 @@
 --! qt:replace:/("total-files-size":)\d+/$1#Masked#/
 --! qt:replace:/((ORC|PARQUET|AVRO)\s+\d+\s+)\d+/$1#Masked#/
 
-set hive.vectorized.execution.enabled = false;
 set tez.mrreader.config.update.properties=hive.io.file.readcolumn.names,hive.io.file.readcolumn.ids;
 set hive.query.results.cache.enabled=false;
 set hive.fetch.task.conversion=none;
diff --git a/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_with_joins.q b/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_with_joins.q
index 3c6d83cf13e..28aa3b0a9af 100644
--- a/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_with_joins.q
+++ b/iceberg/iceberg-handler/src/test/queries/positive/query_iceberg_metadata_with_joins.q
@@ -3,7 +3,6 @@
 --! qt:replace:/("file_size_in_bytes":)\d+/$1#Masked#/
 --! qt:replace:/("total-files-size":)\d+/$1#Masked#/
 
-set hive.vectorized.execution.enabled = false;
 set tez.mrreader.config.update.properties=hive.io.file.readcolumn.names,hive.io.file.readcolumn.ids;
 set hive.query.results.cache.enabled=false;
 set hive.fetch.task.conversion=none;