kasakrisz opened a new pull request, #6322:
URL: https://github.com/apache/hive/pull/6322

   <!--
   Thanks for sending a pull request!  Here are some tips for you:
     1. If this is your first time, please read our contributor guidelines: 
https://cwiki.apache.org/confluence/display/Hive/HowToContribute
     2. Ensure that you have created an issue on the Hive project JIRA: 
https://issues.apache.org/jira/projects/HIVE/summary
     3. Ensure you have added or run the appropriate tests for your PR: 
     4. If the PR is unfinished, add '[WIP]' in your PR title, e.g., 
'[WIP]HIVE-XXXXX:  Your PR title ...'.
     5. Be sure to keep the PR description updated to reflect all changes.
     6. Please write your PR title to summarize what this PR proposes.
     7. If possible, provide a concise example to reproduce the issue for a 
faster review.
   
   -->
   
   ### What changes were proposed in this pull request?
   * The materialized view registry is initialized by loading all MVs from HMS 
that are enabled for query rewrite and precompiled. Later, a scheduled thread 
refreshes the registry periodically in the same way. This patch adds logic to 
remove MVs from the registry that no longer exist in HMS or have been disabled 
for query rewrite since the last refresh.
   * Rename `MaterializedViewCache` to `MaterializedViewMap` because it is not 
a cache.
   * Modify the way MVs are stored in the map: remove the database grouping and 
add the database name as a key prefix to the MV name. Since all MVs are queried 
and added to the planner during query rewrite, this approach aligns better with 
the most common function of the registry/map.
   
   
   ### Why are the changes needed?
   Dropped MVs may casue CBO failure. See jira 
[HIVE-28773](https://issues.apache.org/jira/browse/HIVE-28773) for details
   
   ### Does this PR introduce _any_ user-facing change?
   Yes. CBO failure is intermittent in clusters with multiple HS2s and 
depending on the query the whole compilation process could fail. This patch 
fixes these intermittent issues.
   
   ### Is the change a dependency upgrade?
   No.
   
   ### How was this patch tested?
   ```
   mvn test -Dtest=TestQueryRewrite,TestHiveMaterializedViewRegistry -pl 
itests/hive-unit -Pitests
   mvn test -Dtest=TestMaterializedViewMap -pl ql
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to