Quanlong Huang created IMPALA-14416:
---------------------------------------

             Summary: JniFrontend.getDbs() could fail in 
InconsistentMetadataFetchException
                 Key: IMPALA-14416
                 URL: https://issues.apache.org/jira/browse/IMPALA-14416
             Project: IMPALA
          Issue Type: Bug
          Components: Frontend
            Reporter: Quanlong Huang
            Assignee: Quanlong Huang


Saw a SHOW DATABASES command failed by InconsistentMetadataFetchException in 
local catalog mode:
{noformat}
I20250908 20:51:17.859867 60748 Frontend.java:2405] 
f74a2de0c6f403f2:b983af6600000000] Analyzing query: show databases db: default
...
I20250908 20:51:17.876580 60748 CatalogdMetaProvider.java:1752] 
f74a2de0c6f403f2:b983af6600000000] Invalidated objects in cache: [list of 
database names, HMS_METADATA for DB test_drop_db_6d7dba7f_db]
I20250908 20:51:17.876839 60748 jni-util.cc:321] 
f74a2de0c6f403f2:b983af6600000000] 
org.apache.impala.catalog.local.InconsistentMetadataFetchException: Fetching 
DATABASE failed: DB_NOT_FOUND for TCatalogObject(type:DATABASE, 
catalog_version:0, db:TDatabase(db_name:test_drop_db_6d7dba7f_db))
        at 
org.apache.impala.catalog.local.CatalogdMetaProvider.sendRequest(CatalogdMetaProvider.java:515)
        at 
org.apache.impala.catalog.local.CatalogdMetaProvider.access$100(CatalogdMetaProvider.java:209)
        at 
org.apache.impala.catalog.local.CatalogdMetaProvider$2.call(CatalogdMetaProvider.java:742)
        at 
org.apache.impala.catalog.local.CatalogdMetaProvider$2.call(CatalogdMetaProvider.java:737)
        at 
org.apache.impala.catalog.local.CatalogdMetaProvider.loadWithCaching(CatalogdMetaProvider.java:612)
        at 
org.apache.impala.catalog.local.CatalogdMetaProvider.loadDb(CatalogdMetaProvider.java:734)
        at 
org.apache.impala.catalog.local.LocalDb.getMetaStoreDb(LocalDb.java:101)
        at org.apache.impala.catalog.local.LocalDb.toThrift(LocalDb.java:318)
        at 
org.apache.impala.service.JniFrontend.getDbs(JniFrontend.java:395){noformat}

After getting the list of FeDb in JniFrontend.getDbs(), getting thrift objects 
for all of them triggers new GetPartialCatalogObject requests to catalogd which 
could fail if the db is removed concurrently in catalogd.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to