Stamatis Zampetakis created HIVE-26126:
------------------------------------------

             Summary: Allow capturing/validating SQL generated from HMS calls 
in qtests
                 Key: HIVE-26126
                 URL: https://issues.apache.org/jira/browse/HIVE-26126
             Project: Hive
          Issue Type: Improvement
          Components: Testing Infrastructure
            Reporter: Stamatis Zampetakis
            Assignee: Stamatis Zampetakis


During the compilation/execution of a Hive command there are usually calls in 
the HiveMetastore (HMS). Most of the time these calls need to connect to the 
underlying database backend in order to return the requested information so 
they trigger the generation and execution of SQL queries. 

We have a lot of code in Hive which affects the generation and execution of 
these SQL queries and some vivid examples are the {{MetaStoreDirectSql}} and 
{{CachedStore}} classes.

[MetaStoreDirectSql|https://github.com/apache/hive/blob/e8f3a6cdc22c6a4681af2ea5763c80a5b76e310b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java]
 is responsible for building explicitly SQL queries for performance reasons. 

[CachedStore|https://github.com/apache/hive/blob/e8f3a6cdc22c6a4681af2ea5763c80a5b76e310b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java]
 is responsible for caching certain requests to avoid going to the database on 
every call. 

Ensuring that the generated SQL is the expected one and/or that certain queries 
are hitting (or not) the DB is valuable for catching regressions or evaluating 
the effectiveness of caches.

The idea is that for each Hive command/query in some qtest there is an option 
to include in the output (.q.out) the list of SQL queries that were generated 
by HMS calls.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to