You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Tianyi Wang (JIRA)" <ji...@apache.org> on 2018/11/19 22:10:00 UTC

[jira] [Resolved] (IMPALA-7606) Time based auto invalidation not working

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

Tianyi Wang resolved IMPALA-7606.
---------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 3.1.0

IMPALA-7606: Fix IllegalStateException in CatalogTableInvalidator

CatalogdTableInvalidator detects if a table is in a normal state using
Table.isLoaded() function. This is wrong because if there is an error
during the loading of a table, isLoaded() returns true. This patch
checks if the table is an IncompleteTable instead.
Also fixed a bug in tryInstallGcListener(). A test is added to test the
memory-based invalidation.

Change-Id: If938a40434b00af516445152f88832ef55d0d0ce
Reviewed-on: http://gerrit.cloudera.org:8080/11512
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> Time based auto invalidation not working
> ----------------------------------------
>
>                 Key: IMPALA-7606
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7606
>             Project: IMPALA
>          Issue Type: Bug
>    Affects Versions: Impala 3.1.0
>            Reporter: Rituparna Agrawal
>            Assignee: Tianyi Wang
>            Priority: Major
>             Fix For: Impala 3.1.0
>
>         Attachments: catalogd.INFO
>
>
> Set the invalidate_tables_timeout_s to 60 on both catalogd and all impalads.  Have tables populated. Catalogd is keeps throwing this exception. Tables are not getting invalidated. 
> No other logs seen on impalad from CatalogTableInvalidator
> [10:50 AM] Parna Agrawal: 
> [10:50 AM] Parna Agrawal: W0921 10:50:19.465893 13428 CatalogdTableInvalidator.java:284] Unexpected exception thrown while attempting to automatically invalidate tables. Will retry in 5 seconds.
> Java exception follows:
> java.lang.IllegalStateException
>   at com.google.common.base.Preconditions.checkState(Preconditions.java:129)
>   at org.apache.impala.catalog.Table.getLastUsedTime(Table.java:174)
>   at org.apache.impala.catalog.CatalogdTableInvalidator.invalidateOlderThan(CatalogdTableInvalidator.java:229)
>   at org.apache.impala.catalog.CatalogdTableInvalidator.access$900(CatalogdTableInvalidator.java:51)
>   at org.apache.impala.catalog.CatalogdTableInvalidator$DaemonThread.run(CatalogdTableInvalidator.java:275)
>   at java.lang.Thread.run(Thread.java:748)
> W0921 10:50:24.467514 13428 CatalogdTableInvalidator.java:284] Unexpected exception thrown while attempting to automatically invalidate tables. Will retry in 5 seconds.
> Java exception follows:
> java.lang.IllegalStateException
>   at com.google.common.base.Preconditions.checkState(Preconditions.java:129)
>   at org.apache.impala.catalog.Table.getLastUsedTime(Table.java:174)
>   at org.apache.impala.catalog.CatalogdTableInvalidator.invalidateOlderThan(CatalogdTableInvalidator.java:229)
>   at org.apache.impala.catalog.CatalogdTableInvalidator.access$900(CatalogdTableInvalidator.java:51)
>   at org.apache.impala.catalog.CatalogdTableInvalidator$DaemonThread.run(CatalogdTableInvalidator.java:275)
>   at java.lang.Thread.run(Thread.java:748)



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