[ 
https://issues.apache.org/jira/browse/IMPALA-13293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Csaba Ringhofer updated IMPALA-13293:
-------------------------------------
    Description: 
Unlike ImpaladCatalog's waitForCatalogUpdate() the LocalCatalog version doesn't 
use a conditional variable and simply waits for timeoutMs. The timeout comes 
from MAX_CATALOG_UPDATE_WAIT_TIME_MS, which is 2 seconds. This means the the 
function will wait 2 seconds even it the catalog update arrived in the 
meantime. This 2 seconds is often nearly completely added to the impala cluster 
startup time.

The sleep was added in 
https://gerrit.cloudera.org/#/c/11472/3/fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java

Update: realized that this also doesn't work well for ImpaladCatalog - the 
FeCatalogManager creates a new ImpaladCatalog when a full topic update arrives, 
so the Object that waitForCatalogUpdate() waits for is never notified. My 
impression is that was broken a long time ago, even before LocalCatalog was 
added.



  was:
Unlike ImpaladCatalog's waitForCatalogUpdate() the LocalCatalog version doesn't 
use a conditional variable and simply waits for timeoutMs. The timeout comes 
from MAX_CATALOG_UPDATE_WAIT_TIME_MS, which is 2 seconds. This means the the 
function will wait 2 seconds even it the catalog update arrived in the 
meantime. This 2 seconds is often nearly completely added to the impala cluster 
startup time.

The sleep was added in 
https://gerrit.cloudera.org/#/c/11472/3/fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java




> LocalCatalog's waitForCatalogUpdate() sleeps too much
> -----------------------------------------------------
>
>                 Key: IMPALA-13293
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13293
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Catalog, Frontend
>            Reporter: Csaba Ringhofer
>            Priority: Major
>
> Unlike ImpaladCatalog's waitForCatalogUpdate() the LocalCatalog version 
> doesn't use a conditional variable and simply waits for timeoutMs. The 
> timeout comes from MAX_CATALOG_UPDATE_WAIT_TIME_MS, which is 2 seconds. This 
> means the the function will wait 2 seconds even it the catalog update arrived 
> in the meantime. This 2 seconds is often nearly completely added to the 
> impala cluster startup time.
> The sleep was added in 
> https://gerrit.cloudera.org/#/c/11472/3/fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java
> Update: realized that this also doesn't work well for ImpaladCatalog - the 
> FeCatalogManager creates a new ImpaladCatalog when a full topic update 
> arrives, so the Object that waitForCatalogUpdate() waits for is never 
> notified. My impression is that was broken a long time ago, even before 
> LocalCatalog was added.



--
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