[jira] [Comment Edited] (HIVE-19615) Proper handling of is null and not is null predicate when pushed to Druid

2018-05-23 Thread Jesus Camacho Rodriguez (JIRA)

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

Jesus Camacho Rodriguez edited comment on HIVE-19615 at 5/23/18 10:37 PM:
--

I tested in master:
{code}
?Exception

explain select (cstring1 is null ) AS is_null, (cint is not null ) as isnotnull 
FROM druid_table" fname=druidmini_test1.q
See ./ql/target/tmp/log/hive.log or ./itests/qtest/target/tmp/log/hive.log, or 
check ./ql/target/surefire-reports or ./itests/qtest/target/surefire-reports/ 
for specific test cases logs.
at org.junit.Assert.fail(Assert.java:88)
at org.apache.hadoop.hive.ql.QTestUtil.failed(QTestUtil.java:2229)
at 
org.apache.hadoop.hive.cli.control.CoreCliDriver.runTest(CoreCliDriver.java:180)
at 
org.apache.hadoop.hive.cli.control.CliAdapter.runTest(CliAdapter.java:104)
at 
org.apache.hadoop.hive.cli.TestMiniDruidCliDriver.testCliDriver(TestMiniDruidCliDriver.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at 
org.apache.hadoop.hive.cli.control.CliAdapter$2$1.evaluate(CliAdapter.java:92)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at 
org.apache.hadoop.hive.cli.control.CliAdapter$1$1.evaluate(CliAdapter.java:73)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at 
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
at 
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:379)
at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:340)
at 
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125)
at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:413)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   TestMiniDruidCliDriver.testCliDriver:59 Client execution failed with 
error code = 10001 running "




explain select (cstring1 is null ) AS is_null, (cint is not null ) as isnotnull 
FROM druid_table" fname=druidmini_test1.q
See ./ql/target/tmp/log/hive.log or ./itests/qtest/target/tmp/log/hive.log, or 
check ./ql/target/surefire-reports or ./itests/qtest/target/surefire-reports/ 
for specific test cases logs.
[INFO]
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
[INFO]
[INFO] 
[INFO] BUILD FAILURE
[INFO] 
[INFO] Total time: 03:01 min
[INFO] Finished at: 2018-05-23T15:12:55-07:00
[INFO] Final Memory: 81M/1478M
[INFO] 

[jira] [Comment Edited] (HIVE-19615) Proper handling of is null and not is null predicate when pushed to Druid

2018-05-23 Thread Jesus Camacho Rodriguez (JIRA)

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

Jesus Camacho Rodriguez edited comment on HIVE-19615 at 5/23/18 10:36 PM:
--

[~bslim], failure is due to renaming of tables in q test files, {{druid_table}} 
no longer exists, you can use master to reproduce it locally.


was (Author: jcamachorodriguez):
[~bslim], failure is due to renaming of tables in q test files, {{druid_table}} 
no longer exists.

> Proper handling of is null and not is null predicate when pushed to Druid
> -
>
> Key: HIVE-19615
> URL: https://issues.apache.org/jira/browse/HIVE-19615
> Project: Hive
>  Issue Type: Bug
>Reporter: slim bouguerra
>Assignee: slim bouguerra
>Priority: Major
> Fix For: 4.0.0
>
> Attachments: HIVE-19615.2.patch, HIVE-19615.3.patch, HIVE-19615.patch
>
>
> Recent development in Druid introduced new semantic of null handling 
> [here|https://github.com/b-slim/druid/commit/219e77aeac9b07dc20dd9ab2dd537f3f17498346]
> Based on those changes when need to honer push down of expressions with is 
> null/ is not null predicates.
> The prosed fix overrides the mapping of Calcite Function to Druid Expression 
> to much the correct semantic.



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