hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zoltan Haindrich (JIRA)" <j...@apache.org>
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

    [ https://issues.apache.org/jira/browse/HIVE-19883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16512027#comment-16512027
] 

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: https://issues.apache.org/jira/browse/HIVE-19883
>             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 metastore.create.as.acid/hive.create.as.insert.only, 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(DDLTask.java:4926) [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:428) [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:205) [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:97)
[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2659) [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:2311) [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1982) [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1683) [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1677) [hive-exec-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:157) [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:218) [hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:239) [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:188) [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:402) [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:335) [hive-cli-4.0.0-SNAPSHOT.jar:?]
>         at org.apache.hadoop.hive.ql.QTestUtil.initDataset(QTestUtil.java:1277) [classes/:?]
>         at org.apache.hadoop.hive.ql.QTestUtil.initDataSetForTest(QTestUtil.java:1259)
[classes/:?]
>         at org.apache.hadoop.hive.ql.QTestUtil.cliInit(QTestUtil.java:1328) [classes/:?]
>         at org.apache.hadoop.hive.cli.control.CoreCliDriver.runTest(CoreCliDriver.java:176)
[classes/:?]
>         at org.apache.hadoop.hive.cli.control.CliAdapter.runTest(CliAdapter.java:104)
[classes/:?]
>         at org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver(TestMiniLlapLocalCliDriver.java:59)
[test-classes/:?]
> {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
(v7.6.3#76005)

Mime
View raw message