[ https://issues.apache.org/jira/browse/IMPALA-13061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17845906#comment-17845906 ]
ASF subversion and git services commented on IMPALA-13061: ---------------------------------------------------------- Commit 338fedb44703646664e2e22c6e2f35336924db22 in impala's branch refs/heads/branch-4.4.0 from Michael Smith [ https://gitbox.apache.org/repos/asf?p=impala.git;h=338fedb44 ] IMPALA-13061: Create query live as external table Impala determines whether a managed table is transactional based on the 'transactional' table property. It assumes any managed table with transactional=true returns non-null getValidWriteIds. When 'default_transactional_type=insert_only' is set at startup (via default_query_options), impala_query_live is created as a managed table with transactional=true, but SystemTables don't implement getValidWriteIds and are not meant to be transactional. DataSourceTable has a similar problem, and when a JDBC table is created setJdbcDataSourceProperties sets transactional=false. This patch uses CREATE EXTERNAL TABLE sys.impala_Query_live so that it is not created as a managed table and 'transactional' is not set. That avoids creating a SystemTable that Impala can't read (it encounters an IllegalStateException). Change-Id: Ie60a2bd03fabc63c85bcd9fa2489e9d47cd2aa65 Reviewed-on: http://gerrit.cloudera.org:8080/21401 Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> (cherry picked from commit 1233ac3c579b5929866dba23debae63e5d2aae90) > Query Live table fails to load if default_transactional_type=insert_only set > globally > ------------------------------------------------------------------------------------- > > Key: IMPALA-13061 > URL: https://issues.apache.org/jira/browse/IMPALA-13061 > Project: IMPALA > Issue Type: Bug > Reporter: Michael Smith > Assignee: Michael Smith > Priority: Critical > Fix For: Impala 4.5.0 > > > If transactional type defaults to insert_only for all queries via > {code} > --default_query_options=default_transactional_type=insert_only > {code} > the table definition for {{sys.impala_query_live}} is set to transactional, > which causes an exception in catalogd > {code} > I0506 22:07:42.808758 3972 jni-util.cc:302] > 4547b965aeebc5f0:8ba96c5800000000] java.lang.IllegalStateException > at > com.google.common.base.Preconditions.checkState(Preconditions.java:496) > at org.apache.impala.catalog.Table.getPartialInfo(Table.java:851) > at > org.apache.impala.catalog.CatalogServiceCatalog.doGetPartialCatalogObject(CatalogServiceCatalog.java:3818) > at > org.apache.impala.catalog.CatalogServiceCatalog.getPartialCatalogObject(CatalogServiceCatalog.java:3714) > at > org.apache.impala.catalog.CatalogServiceCatalog.getPartialCatalogObject(CatalogServiceCatalog.java:3681) > at > org.apache.impala.service.JniCatalog.lambda$getPartialCatalogObject$10(JniCatalog.java:431) > at > org.apache.impala.service.JniCatalogOp.lambda$execAndSerialize$1(JniCatalogOp.java:90) > at org.apache.impala.service.JniCatalogOp.execOp(JniCatalogOp.java:58) > at > org.apache.impala.service.JniCatalogOp.execAndSerialize(JniCatalogOp.java:89) > at > org.apache.impala.service.JniCatalogOp.execAndSerializeSilentStartAndFinish(JniCatalogOp.java:109) > at > org.apache.impala.service.JniCatalog.execAndSerializeSilentStartAndFinish(JniCatalog.java:253) > at > org.apache.impala.service.JniCatalog.getPartialCatalogObject(JniCatalog.java:430) > {code} > We need to override that setting while creating {{sys.impala_query_live}}. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org