hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zoltan Haindrich (JIRA)" <>
Subject [jira] [Commented] (HIVE-19883) QTestUtil: initDataset() can be affected by the settings of the previous test
Date Thu, 14 Jun 2018 06:27:00 GMT


Zoltan Haindrich commented on HIVE-19883:

+1 it looks good to me - and it fixes the sample6 case I was looking into...I hope it helps
to stabilize the test always failing in HIVE-19376

> QTestUtil: initDataset() can be affected by the settings of the previous test
> -----------------------------------------------------------------------------
>                 Key: HIVE-19883
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: Testing Infrastructure
>            Reporter: Jason Dere
>            Assignee: Jason Dere
>            Priority: Major
>         Attachments: HIVE-19883.1.patch
> Tried creating a test that set, and
I found that the built-in table default.src was being created as an insert-only transactional
table, which will cause errors in other tests that do not set the TxnManager to one that supports
transactional tables.
> It appears that initDataset() uses the old CliDriver that was used for the previous test,
which has any settings used during that test:
> {noformat}
> java.lang.Exception: Creating src
>         at org.apache.hadoop.hive.ql.exec.DDLTask.createTable( [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.DDLTask.execute( [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.Task.executeTask( [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(
>         at org.apache.hadoop.hive.ql.Driver.launchTask( [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.Driver.execute( [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.Driver.runInternal( [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd( [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.cli.CliDriver.processCmd( [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.cli.CliDriver.processLine( [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.cli.CliDriver.processLine( [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.QTestUtil.initDataset( [classes/:?]
>         at org.apache.hadoop.hive.ql.QTestUtil.initDataSetForTest(
>         at org.apache.hadoop.hive.ql.QTestUtil.cliInit( [classes/:?]
>         at org.apache.hadoop.hive.cli.control.CoreCliDriver.runTest(
>         at org.apache.hadoop.hive.cli.control.CliAdapter.runTest(
>         at org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver(
> {noformat}
> A new CliDriver is created for the new test, but only after we've created the dataset
tables for the next test (see the line numbers for QTestUtil.cliInit() in both stack traces).
> {noformat}
> CliSessionState(SessionState).getConf() line: 317	
> CliDriver.<init>() line: 110	
> QTestUtil.cliInit(File, boolean) line: 1360	
> CoreCliDriver.runTest(String, String, String) line: 176	
> CoreCliDriver(CliAdapter).runTest(String, File) line: 104	
> TestMiniLlapLocalCliDriver.testCliDriver() line: 59	
> {noformat}
> I think fix is to move the creation of the new CliDriver higher up in QTestUtil.cliInit(),
before we call initDataset().

This message was sent by Atlassian JIRA

View raw message