Dimitris Tsirogiannis created IMPALA-6900:
---------------------------------------------

             Summary: Invalidate metadata operation is ignored at a coordinator 
if catalog is empty
                 Key: IMPALA-6900
                 URL: https://issues.apache.org/jira/browse/IMPALA-6900
             Project: IMPALA
          Issue Type: Bug
          Components: Catalog
    Affects Versions: Impala 3.0, Impala 2.12.0
            Reporter: Dimitris Tsirogiannis
            Assignee: Dimitris Tsirogiannis


The following workflow may cause an impalad that issued an invalidate metadata 
to falsely consider that the effect of that operation has taken effect, thus 
causing subsequent queries to fail due to unresolved references to tables or 
databases. 

Steps to reproduce:
 # Start an impala cluster connecting to an empty HMS (no databases).
 # Create a database "db" in HMS outside of Impala (e.g. using Hive).
 # Run INVALIDATE METADATA through Impala.
 # Run "use db" statement in Impala.

 

The while condition in the code snippet below is cause the 
WaitForMinCatalogUpdate function to prematurely return even though INVALIDATE 
METADATA has not taken effect: 
{code:java}
void ImpalaServer::WaitForMinCatalogUpdate(..) {
...
VLOG_QUERY << "Waiting for minimum catalog object version: "
           << min_req_catalog_object_version << " current version: "
           << min_catalog_object_version;
while (catalog_update_info_.min_catalog_object_version <  
min_req_catalog_object_version && catalog_update_info_.catalog_service_id ==  
catalog_service_id) {
   catalog_version_update_cv_.Wait(unique_lock);
}
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to