[
https://issues.apache.org/jira/browse/IMPALA-7245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tim Armstrong resolved IMPALA-7245.
-----------------------------------
Resolution: Cannot Reproduce
> test_kudu.py::test_kudu_insert() fails with "Error adding columns to Kudu
> table tbl_with_defaults"
> --------------------------------------------------------------------------------------------------
>
> Key: IMPALA-7245
> URL: https://issues.apache.org/jira/browse/IMPALA-7245
> Project: IMPALA
> Issue Type: Bug
> Components: Catalog
> Affects Versions: Impala 3.1.0
> Reporter: Joe McDonnell
> Assignee: Tianyi Wang
> Priority: Critical
> Labels: broken-build, flaky
>
> query_test.test_kudu.TestKuduOperations.test_kudu_insert hit the following
> error:
> {noformat}
> query_test/test_kudu.py:93: in test_kudu_insert
> self.run_test_case('QueryTest/kudu_insert', vector,
> use_db=unique_database)
> common/impala_test_suite.py:405: in run_test_case
> result = self.__execute_query(target_impalad_client, query, user=user)
> common/impala_test_suite.py:620: in __execute_query
> return impalad_client.execute(query, user=user)
> common/impala_connection.py:160: in execute
> return self.__beeswax_client.execute(sql_stmt, user=user)
> beeswax/impala_beeswax.py:173: in execute
> handle = self.__execute_query(query_string.strip(), user=user)
> beeswax/impala_beeswax.py:343: in __execute_query
> handle = self.execute_query_async(query_string, user=user)
> beeswax/impala_beeswax.py:339: in execute_query_async
> return self.__do_rpc(lambda: self.imp_service.query(query,))
> beeswax/impala_beeswax.py:483: in __do_rpc
> raise ImpalaBeeswaxException(self.__build_error_message(b), b)
> E ImpalaBeeswaxException: ImpalaBeeswaxException:
> E INNER EXCEPTION: <class 'beeswaxd.ttypes.BeeswaxException'>
> E MESSAGE: ImpalaRuntimeException: Error adding columns to Kudu table
> tbl_with_defaults
> E CAUSED BY: NonRecoverableException: The column already exists: j{noformat}
> This is very similar to what we saw in IMPALA-6107, which we couldn't
> reproduce.
> It seems to be related to our interaction with the Kudu client. The statement
> starts executing at 23:05:11.17. From impalad.INFO:
> {noformat}
> I0629 23:05:11.170009 20602 impala-beeswax-server.cc:54] query(): query=alter
> table tbl_with_defaults add columns (j int null, k int not null default
> 10000){noformat}
> This results in actions in catalogd, but catalogd encounters a timeout in the
> AsyncKuduClient while processing this and then immediately hits the error:
> {noformat}
> I0629 23:05:11.212054 28109 AsyncKuduClient.java:1756] Invalidating location
> master-127.0.0.1:7051(127.0.0.1:7051) for tablet Kudu Master: [peer
> master-127.0.0.1:7051(127.0.0.1:7051)] encountered a read timeout; closing
> the channel
> I0629 23:05:11.288261 11518 jni-util.cc:230]
> org.apache.impala.common.ImpalaRuntimeException: Error adding columns to Kudu
> table tbl_with_defaults
> at
> org.apache.impala.service.KuduCatalogOpExecutor.alterKuduTable(KuduCatalogOpExecutor.java:499)
> at
> org.apache.impala.service.KuduCatalogOpExecutor.addColumn(KuduCatalogOpExecutor.java:412)
> at
> org.apache.impala.service.CatalogOpExecutor.alterKuduTable(CatalogOpExecutor.java:600)
> at
> org.apache.impala.service.CatalogOpExecutor.alterTable(CatalogOpExecutor.java:420)
> at
> org.apache.impala.service.CatalogOpExecutor.execDdlRequest(CatalogOpExecutor.java:270)
> at org.apache.impala.service.JniCatalog.execDdl(JniCatalog.java:146)
> Caused by: org.apache.kudu.client.NonRecoverableException: The column already
> exists: j
> at
> org.apache.kudu.client.KuduException.transformException(KuduException.java:110)
> at
> org.apache.kudu.client.KuduClient.joinAndHandleException(KuduClient.java:351)
> at org.apache.kudu.client.KuduClient.alterTable(KuduClient.java:141)
> at
> org.apache.impala.service.KuduCatalogOpExecutor.alterKuduTable(KuduCatalogOpExecutor.java:494)
> ... 5 more
> {noformat}
> The Kudu master sees the alter table request, then the connection is torn
> down, then a duplicate alter table request:
> {noformat}
> I0629 23:05:11.197782 16157 catalog_manager.cc:2086] Servicing AlterTable
> request from {username='jenkins'} at 127.0.0.1:34332:
> table { table_name: "impala::test_kudu_insert_ca9324f5.tbl_with_defaults" }
> alter_schema_steps { type: ADD_COLUMN add_column { schema { name: "j" type:
> INT32 is_key: false is_nullable: true cfile_block_size: 0 } } }
> alter_schema_steps { type: ADD_COLUMN add_column { schema { name: "k" type:
> INT32 is_key: false is_nullable: false read_default_value: "\020\'\000\000"
> cfile_block_size: 0 } } }
> W0629 23:05:11.218549 15925 connection.cc:420] Connection torn down before
> Call kudu.master.MasterService.AlterTable from 127.0.0.1:34332 (request call
> id 24) could send its response
> I0629 23:05:11.239550 16157 catalog_manager.cc:4132] T
> 00000000000000000000000000000000 P 32ff35a1134b48fbb17f9b6cdefd6b7b:
> impala::test_kudu_insert_ca9324f5.tbl_with_defaults
> [id=9f784287d5274dd9a56c434c977a3b4f] alter complete (version 1)
> I0629 23:05:11.283748 16157 catalog_manager.cc:2086] Servicing AlterTable
> request from {username='jenkins'} at 127.0.0.1:34380:
> table { table_name: "impala::test_kudu_insert_ca9324f5.tbl_with_defaults" }
> alter_schema_steps { type: ADD_COLUMN add_column { schema { name: "j" type:
> INT32 is_key: false is_nullable: true cfile_block_size: 0 } } }
> alter_schema_steps { type: ADD_COLUMN add_column { schema { name: "k" type:
> INT32 is_key: false is_nullable: false read_default_value: "\020\'\000\000"
> cfile_block_size: 0 } } }{noformat}
> This indicates some problem where the column is added, but then there is a
> communication problem and we retry anyway.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]