[jira] [Created] (DRILL-6701) Non-admin users can access options page via restapi

2018-08-20 Thread Krystal (JIRA)
Krystal created DRILL-6701:
--

 Summary: Non-admin users can access options page via restapi
 Key: DRILL-6701
 URL: https://issues.apache.org/jira/browse/DRILL-6701
 Project: Apache Drill
  Issue Type: Bug
  Components: Security
Affects Versions: 1.14.0
Reporter: Krystal


Only admin users should be able to access drill's options page.  However via 
restapi, a non-admin user can access the options page.



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


[jira] [Created] (DRILL-6700) Graceful shutdown from command line against parquet tables fails

2018-08-20 Thread Krystal (JIRA)
Krystal created DRILL-6700:
--

 Summary: Graceful shutdown from command line against parquet 
tables fails 
 Key: DRILL-6700
 URL: https://issues.apache.org/jira/browse/DRILL-6700
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Flow
Affects Versions: 1.14.0
Reporter: Krystal
 Attachments: drillbit.log

Trigger a graceful shutdown from the command line while a query against parquet 
table is running would fail with the following error:

"Error: SYSTEM ERROR: IOException: Filesystem closed

Fragment 5:11"

This does not occur if graceful shutdown is triggered from the webUI.

Attached is the drillbit.log.

 [^drillbit.log]

 



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


[jira] [Commented] (DRILL-6695) Graceful shutdown removes spill directory before query finished

2018-08-17 Thread Krystal (JIRA)


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

Krystal commented on DRILL-6695:


Additional info:  the problem does not exists if graceful shutdown is triggered 
from a non-foreman.

> Graceful shutdown removes spill directory before query finished 
> 
>
> Key: DRILL-6695
> URL: https://issues.apache.org/jira/browse/DRILL-6695
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Affects Versions: 1.14.0
> Environment: Ran the following query from sqlline:
> select a.columns[0], b.columns[1], a.columns[2], b.columns[3], a.columns[4] 
> from `test` a join `test` b on a.columns[0]=b.columns[0] and 
> a.columns[4]=b.columns[4] order by a.columns[0] limit 1000;
> While the query was running, initiated a graceful shutdown from command line 
> on the foreman node.  The query failed with the following error message:
> Error: RESOURCE ERROR: Hash Join failed to open spill file: 
> /tmp/drill/spill/248a054a-ee63-e795-a44e-d9205df8e9b8_HashJoin_3-2-0/spill7_outer
> Fragment 3:0
> Looks like somehow the spill directory gets deleted while query is still 
> running when graceful_shutdown is initiated.
>  
>  
>Reporter: Krystal
>Priority: Major
> Attachments: drillbit.log
>
>




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


[jira] [Commented] (DRILL-6695) Graceful shutdown removes spill directory before query finished

2018-08-16 Thread Krystal (JIRA)


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

Krystal commented on DRILL-6695:


Forgot to mention that this problem does not occur if graceful shutdown is 
initiated from the webUI.

> Graceful shutdown removes spill directory before query finished 
> 
>
> Key: DRILL-6695
> URL: https://issues.apache.org/jira/browse/DRILL-6695
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Affects Versions: 1.14.0
> Environment: Ran the following query from sqlline:
> select a.columns[0], b.columns[1], a.columns[2], b.columns[3], a.columns[4] 
> from `test` a join `test` b on a.columns[0]=b.columns[0] and 
> a.columns[4]=b.columns[4] order by a.columns[0] limit 1000;
> While the query was running, initiated a graceful shutdown from command line 
> on the foreman node.  The query failed with the following error message:
> Error: RESOURCE ERROR: Hash Join failed to open spill file: 
> /tmp/drill/spill/248a054a-ee63-e795-a44e-d9205df8e9b8_HashJoin_3-2-0/spill7_outer
> Fragment 3:0
> Looks like somehow the spill directory gets deleted while query is still 
> running when graceful_shutdown is initiated.
>  
>  
>Reporter: Krystal
>Priority: Major
> Attachments: drillbit.log
>
>




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


[jira] [Updated] (DRILL-6695) Graceful shutdown removes spill directory before query finished

2018-08-16 Thread Krystal (JIRA)


 [ 
https://issues.apache.org/jira/browse/DRILL-6695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-6695:
---
Attachment: drillbit.log

> Graceful shutdown removes spill directory before query finished 
> 
>
> Key: DRILL-6695
> URL: https://issues.apache.org/jira/browse/DRILL-6695
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Affects Versions: 1.14.0
> Environment: Ran the following query from sqlline:
> select a.columns[0], b.columns[1], a.columns[2], b.columns[3], a.columns[4] 
> from `test` a join `test` b on a.columns[0]=b.columns[0] and 
> a.columns[4]=b.columns[4] order by a.columns[0] limit 1000;
> While the query was running, initiated a graceful shutdown from command line 
> on the foreman node.  The query failed with the following error message:
> Error: RESOURCE ERROR: Hash Join failed to open spill file: 
> /tmp/drill/spill/248a054a-ee63-e795-a44e-d9205df8e9b8_HashJoin_3-2-0/spill7_outer
> Fragment 3:0
> Looks like somehow the spill directory gets deleted while query is still 
> running when graceful_shutdown is initiated.
>  
>  
>Reporter: Krystal
>Priority: Major
> Attachments: drillbit.log
>
>




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


[jira] [Commented] (DRILL-6695) Graceful shutdown removes spill directory before query finished

2018-08-16 Thread Krystal (JIRA)


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

Krystal commented on DRILL-6695:


Here is the log file:

[^drillbit.log]

> Graceful shutdown removes spill directory before query finished 
> 
>
> Key: DRILL-6695
> URL: https://issues.apache.org/jira/browse/DRILL-6695
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Affects Versions: 1.14.0
> Environment: Ran the following query from sqlline:
> select a.columns[0], b.columns[1], a.columns[2], b.columns[3], a.columns[4] 
> from `test` a join `test` b on a.columns[0]=b.columns[0] and 
> a.columns[4]=b.columns[4] order by a.columns[0] limit 1000;
> While the query was running, initiated a graceful shutdown from command line 
> on the foreman node.  The query failed with the following error message:
> Error: RESOURCE ERROR: Hash Join failed to open spill file: 
> /tmp/drill/spill/248a054a-ee63-e795-a44e-d9205df8e9b8_HashJoin_3-2-0/spill7_outer
> Fragment 3:0
> Looks like somehow the spill directory gets deleted while query is still 
> running when graceful_shutdown is initiated.
>  
>  
>Reporter: Krystal
>Priority: Major
> Attachments: drillbit.log
>
>




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


[jira] [Created] (DRILL-6695) Graceful shutdown removes spill directory before query finished

2018-08-16 Thread Krystal (JIRA)
Krystal created DRILL-6695:
--

 Summary: Graceful shutdown removes spill directory before query 
finished 
 Key: DRILL-6695
 URL: https://issues.apache.org/jira/browse/DRILL-6695
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Flow
Affects Versions: 1.14.0
 Environment: Ran the following query from sqlline:

select a.columns[0], b.columns[1], a.columns[2], b.columns[3], a.columns[4] 
from `test` a join `test` b on a.columns[0]=b.columns[0] and 
a.columns[4]=b.columns[4] order by a.columns[0] limit 1000;

While the query was running, initiated a graceful shutdown from command line on 
the foreman node.  The query failed with the following error message:

Error: RESOURCE ERROR: Hash Join failed to open spill file: 
/tmp/drill/spill/248a054a-ee63-e795-a44e-d9205df8e9b8_HashJoin_3-2-0/spill7_outer
Fragment 3:0

Looks like somehow the spill directory gets deleted while query is still 
running when graceful_shutdown is initiated.

 

 
Reporter: Krystal






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


[jira] [Updated] (DRILL-6690) Non-admin users can access threads page using restAPI

2018-08-15 Thread Krystal (JIRA)


 [ 
https://issues.apache.org/jira/browse/DRILL-6690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-6690:
---
Description: 
Through restapi, non-admin users can access drill threads data:
{code:java}
curl -b ~/.drill_cookies -k -H "Content-Type: application/json"  -X GET  
https://10.10.10.000:8047/status/threads
"Reference Handler" id=2 state=WAITING
    - waiting on <0x15c20b08> (a java.lang.ref.Reference$Lock)
    - locked <0x15c20b08> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
{code}

  was:
Through restapi, non-admin users can access drill threads data:
{code:java}
curl -b ~/.drill_cookies -k -H "Content-Type: application/json"  -X GET  
https://10.10.30.206:8047/status/threads
"Reference Handler" id=2 state=WAITING
    - waiting on <0x15c20b08> (a java.lang.ref.Reference$Lock)
    - locked <0x15c20b08> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
{code}


> Non-admin users can access threads page using restAPI
> -
>
> Key: DRILL-6690
> URL: https://issues.apache.org/jira/browse/DRILL-6690
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.14.0
>Reporter: Krystal
>Priority: Major
>
> Through restapi, non-admin users can access drill threads data:
> {code:java}
> curl -b ~/.drill_cookies -k -H "Content-Type: application/json"  -X GET  
> https://10.10.10.000:8047/status/threads
> "Reference Handler" id=2 state=WAITING
>     - waiting on <0x15c20b08> (a java.lang.ref.Reference$Lock)
>     - locked <0x15c20b08> (a java.lang.ref.Reference$Lock)
>     at java.lang.Object.wait(Native Method)
>     at java.lang.Object.wait(Object.java:502)
>     at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
>     at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
> {code}



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


[jira] [Updated] (DRILL-6690) Non-admin users can access threads page using restAPI

2018-08-15 Thread Krystal (JIRA)


 [ 
https://issues.apache.org/jira/browse/DRILL-6690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-6690:
---
Description: 
Through restapi, non-admin users can access drill threads data:
{code:java}
curl -b ~/.drill_cookies -k -H "Content-Type: application/json"  -X GET  
https://10.10.30.206:8047/status/threads
"Reference Handler" id=2 state=WAITING
    - waiting on <0x15c20b08> (a java.lang.ref.Reference$Lock)
    - locked <0x15c20b08> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
{code}

  was:
Through restapi, non-admin users can access drill metrics data:
{code:java}
[root@mfs41 ~]# curl -b ~/.drill_cookies -k -H "Content-Type: application/json" 
 -X GET  https://10.10.10.000:8047/status/metrics
{"version":"4.0.0","gauges":{"G1-Old-Generation.count":{"value":0},"G1-Old-Generation.time":{"value":0},"G1-Young-Generation.count":{"value":8},"G1-Young-Generation.time":{"value":329},"blocked.count":{"value":0},"count":{"value":28},"daemon.count":{"value":19},...{code}


> Non-admin users can access threads page using restAPI
> -
>
> Key: DRILL-6690
> URL: https://issues.apache.org/jira/browse/DRILL-6690
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.14.0
>Reporter: Krystal
>Priority: Major
>
> Through restapi, non-admin users can access drill threads data:
> {code:java}
> curl -b ~/.drill_cookies -k -H "Content-Type: application/json"  -X GET  
> https://10.10.30.206:8047/status/threads
> "Reference Handler" id=2 state=WAITING
>     - waiting on <0x15c20b08> (a java.lang.ref.Reference$Lock)
>     - locked <0x15c20b08> (a java.lang.ref.Reference$Lock)
>     at java.lang.Object.wait(Native Method)
>     at java.lang.Object.wait(Object.java:502)
>     at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
>     at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
> {code}



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


[jira] [Updated] (DRILL-6690) Non-admin users can access threads page using restAPI

2018-08-15 Thread Krystal (JIRA)


 [ 
https://issues.apache.org/jira/browse/DRILL-6690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-6690:
---
Summary: Non-admin users can access threads page using restAPI  (was: 
Non-admin users can access metrics page using restAPI)

> Non-admin users can access threads page using restAPI
> -
>
> Key: DRILL-6690
> URL: https://issues.apache.org/jira/browse/DRILL-6690
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.14.0
>Reporter: Krystal
>Priority: Major
>
> Through restapi, non-admin users can access drill metrics data:
> {code:java}
> [root@mfs41 ~]# curl -b ~/.drill_cookies -k -H "Content-Type: 
> application/json"  -X GET  https://10.10.10.000:8047/status/metrics
> {"version":"4.0.0","gauges":{"G1-Old-Generation.count":{"value":0},"G1-Old-Generation.time":{"value":0},"G1-Young-Generation.count":{"value":8},"G1-Young-Generation.time":{"value":329},"blocked.count":{"value":0},"count":{"value":28},"daemon.count":{"value":19},...{code}



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


[jira] [Updated] (DRILL-6690) Non-admin users can access metrics page using restAPI

2018-08-15 Thread Krystal (JIRA)


 [ 
https://issues.apache.org/jira/browse/DRILL-6690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-6690:
---
Description: 
Through restapi, non-admin users can access drill metrics data:
{code:java}
[root@mfs41 ~]# curl -b ~/.drill_cookies -k -H "Content-Type: application/json" 
 -X GET  https://10.10.10.000:8047/status/metrics
{"version":"4.0.0","gauges":{"G1-Old-Generation.count":{"value":0},"G1-Old-Generation.time":{"value":0},"G1-Young-Generation.count":{"value":8},"G1-Young-Generation.time":{"value":329},"blocked.count":{"value":0},"count":{"value":28},"daemon.count":{"value":19},...{code}

  was:
Through restapi, non-admin users can access drill metrics data:
{code:java}
[root@mfs41 ~]# curl -b ~/.drill_cookies -k -H "Content-Type: application/json" 
 -X GET  https://10.10.30.206:8047/status/metrics
{"version":"4.0.0","gauges":{"G1-Old-Generation.count":{"value":0},"G1-Old-Generation.time":{"value":0},"G1-Young-Generation.count":{"value":8},"G1-Young-Generation.time":{"value":329},"blocked.count":{"value":0},"count":{"value":28},"daemon.count":{"value":19},...{code}


> Non-admin users can access metrics page using restAPI
> -
>
> Key: DRILL-6690
> URL: https://issues.apache.org/jira/browse/DRILL-6690
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.14.0
>Reporter: Krystal
>Priority: Major
>
> Through restapi, non-admin users can access drill metrics data:
> {code:java}
> [root@mfs41 ~]# curl -b ~/.drill_cookies -k -H "Content-Type: 
> application/json"  -X GET  https://10.10.10.000:8047/status/metrics
> {"version":"4.0.0","gauges":{"G1-Old-Generation.count":{"value":0},"G1-Old-Generation.time":{"value":0},"G1-Young-Generation.count":{"value":8},"G1-Young-Generation.time":{"value":329},"blocked.count":{"value":0},"count":{"value":28},"daemon.count":{"value":19},...{code}



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


[jira] [Created] (DRILL-6690) Non-admin users can access metrics page using restAPI

2018-08-15 Thread Krystal (JIRA)
Krystal created DRILL-6690:
--

 Summary: Non-admin users can access metrics page using restAPI
 Key: DRILL-6690
 URL: https://issues.apache.org/jira/browse/DRILL-6690
 Project: Apache Drill
  Issue Type: Bug
  Components: Security
Affects Versions: 1.14.0
Reporter: Krystal


Through restapi, non-admin users can access drill metrics data:
{code:java}
[root@mfs41 ~]# curl -b ~/.drill_cookies -k -H "Content-Type: application/json" 
 -X GET  https://10.10.30.206:8047/status/metrics
{"version":"4.0.0","gauges":{"G1-Old-Generation.count":{"value":0},"G1-Old-Generation.time":{"value":0},"G1-Young-Generation.count":{"value":8},"G1-Young-Generation.time":{"value":329},"blocked.count":{"value":0},"count":{"value":28},"daemon.count":{"value":19},...{code}



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


[jira] [Reopened] (DRILL-6039) drillbit.sh graceful_stop does not wait for fragments to complete before stopping the drillbit

2018-06-15 Thread Krystal (JIRA)


 [ 
https://issues.apache.org/jira/browse/DRILL-6039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal reopened DRILL-6039:


> drillbit.sh graceful_stop does not wait for fragments to complete before 
> stopping the drillbit
> --
>
> Key: DRILL-6039
> URL: https://issues.apache.org/jira/browse/DRILL-6039
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Affects Versions: 1.3.0
>Reporter: Krystal
>Assignee: Venkata Jyothsna Donapati
>Priority: Major
> Fix For: 1.14.0
>
>
> git.commit.id.abbrev=eb0c403
> I have 3-nodes cluster with drillbits running on each node.  I kicked off a 
> long running query.  In the middle of the query, I did a "./drillbit.sh 
> graceful_stop" on one of the non-foreman node.  The node was stopped within a 
> few seconds and the query failed with error:
> Error: SYSTEM ERROR: IOException: Filesystem closed
> Fragment 4:15



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


[jira] [Commented] (DRILL-6039) drillbit.sh graceful_stop does not wait for fragments to complete before stopping the drillbit

2018-06-15 Thread Krystal (JIRA)


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

Krystal commented on DRILL-6039:


The "drillbit.sh graceful_stop" from command line against parquet files still 
fails - does not wait for fragments to finish.  Interesting thing is the 
problem does not occur when shutting down the drillbit from the WebUI.  The 
drillbit.log does not show any memory leaks.  Here is the stack trace:
{code:java}
Error: SYSTEM ERROR: IOException: Filesystem closed

Fragment 1:10

(org.apache.drill.common.exceptions.DrillRuntimeException) Error in parquet 
record reader.
Message: Failure in setting up reader
Parquet Metadata: ParquetMetaData{FileMetaData{schema: message root {
  optional int64 l_orderkey;
  optional int64 l_partkey;
  optional int64 l_suppkey;
  optional int32 l_linenumber;
  optional double l_quantity;
  optional double l_extendedprice;
  optional double l_discount;
  optional double l_tax;
  optional binary l_returnflag (UTF8);
  optional binary l_linestatus (UTF8);
  optional int32 l_shipdate (DATE);
  optional int32 l_commitdate (DATE);
  optional int32 l_receiptdate (DATE);
  optional binary l_shipinstruct (UTF8);
  optional binary l_shipmode (UTF8);
  optional binary l_comment (UTF8);
}
, metadata: {drill.version=1.7.0-SNAPSHOT}}, blocks: [BlockMetaData{9785551, 
1338587809 [ColumnMetaData{SNAPPY [l_orderkey] INT64  [PLAIN, BIT_PACKED, RLE], 
4}, ColumnMetaData{SNAPPY [l_partkey] INT64  [PLAIN, BIT_PACKED, RLE], 
15273019}, ColumnMetaData{SNAPPY [l_suppkey] INT64  [PLAIN, BIT_PACKED, RLE], 
73277460}, ColumnMetaData{SNAPPY [l_linenumber] INT32  [PLAIN, BIT_PACKED, 
RLE], 124321400}, ColumnMetaData{SNAPPY [l_quantity] DOUBLE  [PLAIN, 
BIT_PACKED, RLE], 132087986}, ColumnMetaData{SNAPPY [l_extendedprice] DOUBLE  
[PLAIN, BIT_PACKED, RLE], 151838465}, ColumnMetaData{SNAPPY [l_discount] DOUBLE 
 [PLAIN, BIT_PACKED, RLE], 208270450}, ColumnMetaData{SNAPPY [l_tax] DOUBLE  
[PLAIN, BIT_PACKED, RLE], 227351535}, ColumnMetaData{SNAPPY [l_returnflag] 
BINARY  [PLAIN, BIT_PACKED, RLE], 245574230}, ColumnMetaData{SNAPPY 
[l_linestatus] BINARY  [PLAIN, BIT_PACKED, RLE], 254814472}, 
ColumnMetaData{SNAPPY [l_shipdate] INT32  [PLAIN, BIT_PACKED, RLE], 260500185}, 
ColumnMetaData{SNAPPY [l_commitdate] INT32  [PLAIN, BIT_PACKED, RLE], 
290097700}, ColumnMetaData{SNAPPY [l_receiptdate] INT32  [PLAIN, BIT_PACKED, 
RLE], 319358270}, ColumnMetaData{SNAPPY [l_shipinstruct] BINARY  [PLAIN, 
BIT_PACKED, RLE], 348982057}, ColumnMetaData{SNAPPY [l_shipmode] BINARY  
[PLAIN, BIT_PACKED, RLE], 370125048}, ColumnMetaData{SNAPPY [l_comment] BINARY  
[PLAIN, BIT_PACKED, RLE], 392116052}]}]}
    
org.apache.drill.exec.store.parquet.columnreaders.ParquetRecordReader.handleException():316
    
org.apache.drill.exec.store.parquet.columnreaders.ParquetRecordReader.setup():300
    org.apache.drill.exec.physical.impl.ScanBatch.getNextReaderIfHas():335
    org.apache.drill.exec.physical.impl.ScanBatch.internalNext():222
    org.apache.drill.exec.physical.impl.ScanBatch.next():274
    org.apache.drill.exec.record.AbstractRecordBatch.next():119
    org.apache.drill.exec.record.AbstractRecordBatch.next():109
    org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext():51
    org.apache.drill.exec.record.AbstractRecordBatch.next():164
    org.apache.drill.exec.record.AbstractRecordBatch.next():119
    org.apache.drill.exec.record.AbstractRecordBatch.next():109
    org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext():51
    
org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.innerNext():80
    org.apache.drill.exec.record.AbstractRecordBatch.next():164
    org.apache.drill.exec.record.AbstractRecordBatch.next():119
    org.apache.drill.exec.record.AbstractRecordBatch.next():109
    org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext():51
    
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():134
    org.apache.drill.exec.record.AbstractRecordBatch.next():164
    org.apache.drill.exec.record.AbstractRecordBatch.next():119
    org.apache.drill.exec.test.generated.StreamingAggregatorGen42.doWork():187
    
org.apache.drill.exec.physical.impl.aggregate.StreamingAggBatch.innerNext():194
    org.apache.drill.exec.record.AbstractRecordBatch.next():164
    org.apache.drill.exec.physical.impl.BaseRootExec.next():105
    
org.apache.drill.exec.physical.impl.SingleSenderCreator$SingleSenderRootExec.innerNext():93
    org.apache.drill.exec.physical.impl.BaseRootExec.next():95
    org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():233
    org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():226
    java.security.AccessController.doPrivileged():-2
    javax.security.auth.Subject.doAs():422
    org.apache.hadoop.security.UserGroupInformation.doAs():1633
    org.apache.drill.exec.work.fragment.FragmentExecutor.run

[jira] [Closed] (DRILL-3584) Drill Kerberos HDFS Support / Documentation

2018-05-11 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-3584.
--
Resolution: Fixed

> Drill Kerberos HDFS Support / Documentation
> ---
>
> Key: DRILL-3584
> URL: https://issues.apache.org/jira/browse/DRILL-3584
> Project: Apache Drill
>  Issue Type: New Feature
>Affects Versions: 1.1.0
>Reporter: Hari Sekhon
>Priority: Critical
>  Labels: security
>
> I'm trying to find Drill docs for Kerberos support for secure HDFS clusters 
> and it doesn't appear to be well tested / supported / documented yet.
> This product is Dead-on-Arrival if it doesn't integrate well with secure 
> Hadoop clusters, specifically HDFS + Kerberos (plus obviously secure 
> kerberized Hive/HCatalog etc.)



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


[jira] [Commented] (DRILL-3584) Drill Kerberos HDFS Support / Documentation

2018-05-11 Thread Krystal (JIRA)

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

Krystal commented on DRILL-3584:


Tested the steps mentioned by Sudheesh against cloudera cdh 5.13 vm and got 
drill working with Kerberos enabled. 

> Drill Kerberos HDFS Support / Documentation
> ---
>
> Key: DRILL-3584
> URL: https://issues.apache.org/jira/browse/DRILL-3584
> Project: Apache Drill
>  Issue Type: New Feature
>Affects Versions: 1.1.0
>Reporter: Hari Sekhon
>Priority: Critical
>  Labels: security
>
> I'm trying to find Drill docs for Kerberos support for secure HDFS clusters 
> and it doesn't appear to be well tested / supported / documented yet.
> This product is Dead-on-Arrival if it doesn't integrate well with secure 
> Hadoop clusters, specifically HDFS + Kerberos (plus obviously secure 
> kerberized Hive/HCatalog etc.)



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


[jira] [Commented] (DRILL-6292) Improve error message when NTLM token is sent to server using SPNEGO

2018-04-23 Thread Krystal (JIRA)

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

Krystal commented on DRILL-6292:


We can check that if the header of the response starts with "Negotiate TIR" 
then it's doing spnego over NTLM instead of over Kerberos.

> Improve error message when NTLM token is sent to server using SPNEGO
> 
>
> Key: DRILL-6292
> URL: https://issues.apache.org/jira/browse/DRILL-6292
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Client - Java
>Reporter: Krystal
>Priority: Major
>
> The following error message is logged in drillbit.log file when the brower 
> sends NTLM token instead of SPNEGO token.
> {color:#00}WARN o.a.d.e.s.r.a.DrillSpnegoLoginService - Caught 
> GSSException trying to authenticate the client org.ietf.jgss.GSSException: 
> Defective token detected (Mechanism level: GSSHeader did not find the right 
> tag){color}
> Should have a clearer error that indicates the token sent is of NTLM.



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


[jira] [Created] (DRILL-6306) Should not be able to run queries against disabled storage plugins

2018-04-02 Thread Krystal (JIRA)
Krystal created DRILL-6306:
--

 Summary: Should not be able to run queries against disabled 
storage plugins
 Key: DRILL-6306
 URL: https://issues.apache.org/jira/browse/DRILL-6306
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Other
Affects Versions: 1.13.0
Reporter: Krystal


Currently, queries against disabled storage plugins are returning data.  This 
should not be the case.  Queries against disabled storage plugins should fail.



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


[jira] [Created] (DRILL-6292) Improve error message when NTLM token is sent to server using SPNEGO

2018-03-23 Thread Krystal (JIRA)
Krystal created DRILL-6292:
--

 Summary: Improve error message when NTLM token is sent to server 
using SPNEGO
 Key: DRILL-6292
 URL: https://issues.apache.org/jira/browse/DRILL-6292
 Project: Apache Drill
  Issue Type: Improvement
  Components: Client - Java
Reporter: Krystal


The following error message is logged in drillbit.log file when the brower 
sends NTLM token instead of SPNEGO token.

{color:#00}WARN o.a.d.e.s.r.a.DrillSpnegoLoginService - Caught GSSException 
trying to authenticate the client org.ietf.jgss.GSSException: Defective token 
detected (Mechanism level: GSSHeader did not find the right tag){color}

Should have a clearer error that indicates the token sent is of NTLM.



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


[jira] [Closed] (DRILL-6021) Show shutdown button when authentication is not enabled

2018-03-19 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-6021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-6021.
--

Verified that bug is fixed.

> Show shutdown button when authentication is not enabled
> ---
>
> Key: DRILL-6021
> URL: https://issues.apache.org/jira/browse/DRILL-6021
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.12.0
>Reporter: Arina Ielchiieva
>Assignee: Venkata Jyothsna Donapati
>Priority: Major
>  Labels: ready-to-commit
> Fix For: 1.13.0
>
>
> After DRILL-6017 {{shouldShowAdminInfo}} is used to decide if shutdown button 
> should be displayed on index page. But this option is set to true when 
> authentication is enabled and user is an admin. When authentication is not 
> enabled, user by default is admin. So with this fix without authentication, 
> shutdown button is absent but should be present.



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


[jira] [Closed] (DRILL-6044) Shutdown button does not work from WebUI

2018-03-19 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-6044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-6044.
--

Verified that bug is fixed.

> Shutdown button does not work from WebUI
> 
>
> Key: DRILL-6044
> URL: https://issues.apache.org/jira/browse/DRILL-6044
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - HTTP
>Affects Versions: 1.13.0
>Reporter: Krystal
>Assignee: Venkata Jyothsna Donapati
>Priority: Critical
>  Labels: ready-to-commit
> Fix For: 1.13.0
>
> Attachments: Screen Shot 2017-12-19 at 10.51.16 AM.png
>
>
> git.commit.id.abbrev=eb0c403
> Nothing happens when click on the SHUTDOWN button from the WebUI.  The 
> browser's debugger showed that the request failed due to access control 
> checks (see attached screen shot).



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


[jira] [Commented] (DRILL-6040) Need to add usage for graceful_stop to drillbit.sh

2018-03-13 Thread Krystal (JIRA)

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

Krystal commented on DRILL-6040:


git.commit.id.abbrev=cac2882

Verified that bug is fixed.

/opt/drill/bin/drillbit.sh 
Usage: drillbit.sh [--config|--site ] 
(start|stop|status|restart|run|graceful_stop) [args]

> Need to add usage for graceful_stop to drillbit.sh
> --
>
> Key: DRILL-6040
> URL: https://issues.apache.org/jira/browse/DRILL-6040
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Affects Versions: 1.13.0
>Reporter: Krystal
>Assignee: Venkata Jyothsna Donapati
>Priority: Major
>  Labels: ready-to-commit
> Fix For: 1.13.0
>
>
> git.commit.id.abbrev=eb0c403
> Usage for graceful_stop is missing from drillbit.sh.
> ./drillbit.sh
> Usage: drillbit.sh [--config|--site ] 
> (start|stop|status|restart|run) [args]



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


[jira] [Closed] (DRILL-6040) Need to add usage for graceful_stop to drillbit.sh

2018-03-13 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-6040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-6040.
--

Verified that bug is fixed.

> Need to add usage for graceful_stop to drillbit.sh
> --
>
> Key: DRILL-6040
> URL: https://issues.apache.org/jira/browse/DRILL-6040
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Affects Versions: 1.13.0
>Reporter: Krystal
>Assignee: Venkata Jyothsna Donapati
>Priority: Major
>  Labels: ready-to-commit
> Fix For: 1.13.0
>
>
> git.commit.id.abbrev=eb0c403
> Usage for graceful_stop is missing from drillbit.sh.
> ./drillbit.sh
> Usage: drillbit.sh [--config|--site ] 
> (start|stop|status|restart|run) [args]



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


[jira] [Closed] (DRILL-6017) Fix for SHUTDOWN button being visible for non Admin users

2018-01-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-6017.
--

Verified that only Admin users can access the SHUTDOWN button in a secured 
cluster.

> Fix for SHUTDOWN button being visible for non Admin users
> -
>
> Key: DRILL-6017
> URL: https://issues.apache.org/jira/browse/DRILL-6017
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.12.0
>Reporter: Arina Ielchiieva
>Assignee: Karthikeyan Manivannan
>Priority: Blocker
>  Labels: ready-to-commit
> Fix For: 1.12.0
>
>
> DRILL-4286 introduces shutdown button on index page but when authorization is 
> enabled it should be visible only to admin users.



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


[jira] [Closed] (DRILL-6006) Label current is missing on Web UI since the same drillbits with different status are considered to be different

2018-01-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-6006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-6006.
--

Verified that bug is fixed.

> Label current is missing on Web UI since the same drillbits with different 
> status are considered to be different
> 
>
> Key: DRILL-6006
> URL: https://issues.apache.org/jira/browse/DRILL-6006
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.12.0
>Reporter: Arina Ielchiieva
>Assignee: Arina Ielchiieva
>Priority: Major
> Fix For: 1.12.0
>
>
> After DRILL-4286 label current is missing on Web UI indicating current 
> drillbit.
> This happens because when creating DrillbitInfo object, we check [if current 
> drillbit is the same as 
> available|https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java#L197].
>  But {{dbContext.getEndpoint()}} returns drillbit with status {{startup}} and 
> {{work.getContext().getAvailableBits()}} returns drillbit with status 
> {{online}}, thus isCurrent variable is set as false but should be true.



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


[jira] [Closed] (DRILL-6019) Only admin should be able to access shutdown resources

2018-01-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-6019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-6019.
--

Verified that bug is fixed.

> Only admin should be able to access shutdown resources
> --
>
> Key: DRILL-6019
> URL: https://issues.apache.org/jira/browse/DRILL-6019
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.12.0
>Reporter: Arina Ielchiieva
>Assignee: Arina Ielchiieva
>Priority: Blocker
>  Labels: ready-to-commit
> Fix For: 1.12.0
>
>
> DRILL-4286 introduces graceful shutdown but only admin should be able to 
> access shutdown resources.



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


[jira] [Updated] (DRILL-6044) Shutdown button does not work from WebUI

2017-12-19 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-6044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-6044:
---
Attachment: Screen Shot 2017-12-19 at 10.51.16 AM.png

> Shutdown button does not work from WebUI
> 
>
> Key: DRILL-6044
> URL: https://issues.apache.org/jira/browse/DRILL-6044
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - HTTP
>Affects Versions: 1.13.0
>Reporter: Krystal
> Attachments: Screen Shot 2017-12-19 at 10.51.16 AM.png
>
>
> git.commit.id.abbrev=eb0c403
> Nothing happens when click on the SHUTDOWN button from the WebUI.  The 
> browser's debugger showed that the request failed due to access control 
> checks (see attached screen shot).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (DRILL-6044) Shutdown button does not work from WebUI

2017-12-19 Thread Krystal (JIRA)
Krystal created DRILL-6044:
--

 Summary: Shutdown button does not work from WebUI
 Key: DRILL-6044
 URL: https://issues.apache.org/jira/browse/DRILL-6044
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - HTTP
Affects Versions: 1.13.0
Reporter: Krystal


git.commit.id.abbrev=eb0c403

Nothing happens when click on the SHUTDOWN button from the WebUI.  The 
browser's debugger showed that the request failed due to access control checks 
(see attached screen shot).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (DRILL-6040) Need to add usage for graceful_stop to drillbit.sh

2017-12-18 Thread Krystal (JIRA)
Krystal created DRILL-6040:
--

 Summary: Need to add usage for graceful_stop to drillbit.sh
 Key: DRILL-6040
 URL: https://issues.apache.org/jira/browse/DRILL-6040
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Flow
Affects Versions: 1.13.0
Reporter: Krystal


git.commit.id.abbrev=eb0c403

Usage for graceful_stop is missing from drillbit.sh.
./drillbit.sh
Usage: drillbit.sh [--config|--site ] (start|stop|status|restart|run) 
[args]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (DRILL-6039) drillbit.sh graceful_stop does not wait for fragments to complete before stopping the drillbit

2017-12-18 Thread Krystal (JIRA)
Krystal created DRILL-6039:
--

 Summary: drillbit.sh graceful_stop does not wait for fragments to 
complete before stopping the drillbit
 Key: DRILL-6039
 URL: https://issues.apache.org/jira/browse/DRILL-6039
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Flow
Affects Versions: 1.3.0
Reporter: Krystal


git.commit.id.abbrev=eb0c403

I have 3-nodes cluster with drillbits running on each node.  I kicked off a 
long running query.  In the middle of the query, I did a "./drillbit.sh 
graceful_stop" on one of the non-foreman node.  The node was stopped within a 
few seconds and the query failed with error:

Error: SYSTEM ERROR: IOException: Filesystem closed
Fragment 4:15




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (DRILL-5996) Unable to re-run queries from Profiles tab with impersonation and without authentication

2017-11-28 Thread Krystal (JIRA)
Krystal created DRILL-5996:
--

 Summary: Unable to re-run queries from Profiles tab with 
impersonation and without authentication 
 Key: DRILL-5996
 URL: https://issues.apache.org/jira/browse/DRILL-5996
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - CLI
Affects Versions: 1.12.0
Reporter: Krystal


On drillbit, enable impersonation without authentication.  From WebUI, click on 
a query from Profiles link -> click on the "Edit Query" tab -> click on the 
"Re-Run Query" button.  The query would fail with the following error:

"HTTP ERROR 412

Problem accessing /query. Reason:

User-Name header is not set"

We should also provide a username dialog box for this tab.

 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (DRILL-5873) Drill C++ Client should throw proper/complete error message for the ODBC driver to consume

2017-10-12 Thread Krystal (JIRA)
Krystal created DRILL-5873:
--

 Summary: Drill C++ Client should throw proper/complete error 
message for the ODBC driver to consume
 Key: DRILL-5873
 URL: https://issues.apache.org/jira/browse/DRILL-5873
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - C++
Reporter: Krystal
Assignee: Parth Chandra


The Drill C++ Client should throw a proper/complete error message for the 
driver to utilize.
The ODBC driver is directly outputting the exception message thrown by the 
client by calling the getError() API after the connect() API has failed with an 
error status.
For the Java client, similar logic is hard coded at 
https://github.com/apache/drill/blob/1.11.0/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/UserClient.java#L247.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Closed] (DRILL-5034) Select timestamp from hive generated parquet always return in UTC

2017-05-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5034.
--

Verified

> Select timestamp from hive generated parquet always return in UTC
> -
>
> Key: DRILL-5034
> URL: https://issues.apache.org/jira/browse/DRILL-5034
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Storage - Parquet
>Affects Versions: 1.9.0
>Reporter: Krystal
>Assignee: Vitalii Diravka
>  Labels: doc-impacting, ready-to-commit
> Fix For: 1.10.0
>
>
> commit id: 5cea9afa6278e21574c6a982ae5c3d82085ef904
> Reading timestamp data against a hive parquet table from drill automatically 
> converts the timestamp data to UTC. 
> {code}
> SELECT TIMEOFDAY() FROM (VALUES(1));
> +--+
> |EXPR$0|
> +--+
> | 2016-11-10 12:33:26.547 America/Los_Angeles  |
> +--+
> {code}
> data schema:
> {code}
> message hive_schema {
>   optional int32 voter_id;
>   optional binary name (UTF8);
>   optional int32 age;
>   optional binary registration (UTF8);
>   optional fixed_len_byte_array(3) contributions (DECIMAL(6,2));
>   optional int32 voterzone;
>   optional int96 create_timestamp;
>   optional int32 create_date (DATE);
> }
> {code}
> Using drill-1.8, the returned timestamps match the table data:
> {code}
> select convert_from(create_timestamp, 'TIMESTAMP_IMPALA') from 
> `/user/hive/warehouse/voter_hive_parquet` limit 5;
> ++
> | EXPR$0 |
> ++
> | 2016-10-23 20:03:58.0  |
> | null   |
> | 2016-09-09 12:01:18.0  |
> | 2017-03-06 20:35:55.0  |
> | 2017-01-20 22:32:43.0  |
> ++
> 5 rows selected (1.032 seconds)
> {code}
> If the user timzone is changed to UTC, then the timestamp data is returned in 
> UTC time.
> Using drill-1.9, the returned timestamps got converted to UTC eventhough the 
> user timezone is in PST.
> {code}
> select convert_from(create_timestamp, 'TIMESTAMP_IMPALA') from 
> dfs.`/user/hive/warehouse/voter_hive_parquet` limit 5;
> ++
> | EXPR$0 |
> ++
> | 2016-10-24 03:03:58.0  |
> | null   |
> | 2016-09-09 19:01:18.0  |
> | 2017-03-07 04:35:55.0  |
> | 2017-01-21 06:32:43.0  |
> ++
> {code}
> {code}
> alter session set `store.parquet.reader.int96_as_timestamp`=true;
> +---+---+
> |  ok   |  summary  |
> +---+---+
> | true  | store.parquet.reader.int96_as_timestamp updated.  |
> +---+---+
> select create_timestamp from dfs.`/user/hive/warehouse/voter_hive_parquet` 
> limit 5;
> ++
> |create_timestamp|
> ++
> | 2016-10-24 03:03:58.0  |
> | null   |
> | 2016-09-09 19:01:18.0  |
> | 2017-03-07 04:35:55.0  |
> | 2017-01-21 06:32:43.0  |
> ++
> {code}
>  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-4864) Add ANSI format for date/time functions

2017-05-05 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4864.
--

Verified bug and added test cases to automation.

> Add ANSI format for date/time functions
> ---
>
> Key: DRILL-4864
> URL: https://issues.apache.org/jira/browse/DRILL-4864
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.8.0
>Reporter: Serhii Harnyk
>Assignee: Serhii Harnyk
>  Labels: doc-impacting
> Fix For: 1.10.0
>
>
> The TO_DATE() is exposing the Joda string formatting conventions into the SQL 
> layer. This is not following SQL conventions used by ANSI and many other 
> database engines on the market.
> Add new UDFs: 
> * sql_to_date(String, Format), 
> * sql_to_time(String, Format), 
> * sql_to_timestamp(String, Format)
> that requires Postgres datetime format.
> Table of supported Postgres patterns
> ||Pattern name||Postgres format   
> |Full name of day|day   
> |Day of year|ddd   
> |Day of month|dd
> |Day of week|d   
> |Name of month|month
> |Abr name of month|mon
> |Full era name|ee
> |Name of day|dy   
> |Time zone|tz   
> |Hour 12 |hh   
> |Hour 12 |hh12   
> |Hour 24|hh24
> |Minute of hour|mi  
> |Second of minute|ss   
> |Millisecond of minute|ms
> |Week of year|ww   
> |Month|mm   
> |Halfday am|am
> |Year   |   y   
> |ref.|
> https://www.postgresql.org/docs/8.2/static/functions-formatting.html   |
> Table of acceptable Postgres pattern modifiers, which may be used in Format 
> string
> ||Description||Pattern||
> |fill mode (suppress padding blanks and zeroes)|fm |
> |fixed format global option (see usage notes)|fx |
> |translation mode (print localized day and month names based on 
> lc_messages)|tm |
> |spell mode (not yet implemented)|sp|
> |ref.|
> https://www.postgresql.org/docs/8.2/static/functions-formatting.html|



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (DRILL-5448) ODBC client crashed when user does not have access to text formatted hive table

2017-04-26 Thread Krystal (JIRA)
Krystal created DRILL-5448:
--

 Summary: ODBC client crashed when user does not have access to 
text formatted hive table
 Key: DRILL-5448
 URL: https://issues.apache.org/jira/browse/DRILL-5448
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - C++
Affects Versions: 1.10.0, 1.11.0
Reporter: Krystal


While many connections are connecting to the drillbit, odbc client crashed with 
"Segmentation Fault" while executing a select from a hive table in text format 
that the user does not have access to.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (DRILL-5437) Ansi format date/time functions fail when escaping double quotes

2017-04-17 Thread Krystal (JIRA)
Krystal created DRILL-5437:
--

 Summary: Ansi format date/time functions fail when escaping double 
quotes
 Key: DRILL-5437
 URL: https://issues.apache.org/jira/browse/DRILL-5437
 Project: Apache Drill
  Issue Type: Bug
  Components: Functions - Drill
Affects Versions: 1.11.0
Reporter: Krystal


The following date/time functions fails when escaping double quotes:
sql_to_time
sql_to_date
sql_to_timestamp

select sql_to_date('"2017 March"', '\" Month"\') from (values(1));

Error: FUNCTION ERROR: Error parsing date-time "2017 March" in sql_to_date 
function

This works from postgres:
postgres=# select to_date('"2017 March"', '\" Month\"');
  to_date   

 2017-03-01




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-4919) Fix select count(1) / count(*) on csv with header

2017-04-07 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4919.
--

Verified bug.

> Fix select count(1) / count(*) on csv with header
> -
>
> Key: DRILL-4919
> URL: https://issues.apache.org/jira/browse/DRILL-4919
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.8.0
>Reporter: F Méthot
>Assignee: Arina Ielchiieva
>Priority: Minor
>  Labels: ready-to-commit
> Fix For: 1.10.0
>
>
> This happens since  1.8
> Dataset (I used extended char for display purpose) test.csvh:
> a,b,c,d\n
> 1,2,3,4\n
> 5,6,7,8\n
> Storage config:
> "csvh": {
>   "type": "text",
>   "extensions" : [
>   "csvh"
>],
>"extractHeader": true,
>"delimiter": ","
>   }
> select count(1) from dfs.`test.csvh`
> Error: UNSUPPORTED_OPERATION ERROR: With extractHeader enabled, only header 
> names are supported
> coumn name columns
> column index
> Fragment 0:0



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-4974) NPE in FindPartitionConditions.analyzeCall() for 'holistic' expressions

2017-03-31 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4974.
--

Verified and test cases added to automation.

> NPE in FindPartitionConditions.analyzeCall() for 'holistic' expressions
> ---
>
> Key: DRILL-4974
> URL: https://issues.apache.org/jira/browse/DRILL-4974
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Relational Operators
>Affects Versions: 1.6.0, 1.7.0, 1.8.0
>Reporter: Karthikeyan Manivannan
>Assignee: Karthikeyan Manivannan
> Fix For: 1.9.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> The following query can cause an NPE in FindPartitionConditions.analyzeCall() 
> if the fileSize column is a partitioned column. 
> SELECT  fileSize FROM dfs.`/drill-data/data/` WHERE compoundId LIKE 
> 'FOO-1234567%'
> This is because, the LIKE is treated as a holistic expression in 
> FindPartitionConditions.analyzeCall(), causing opStack to be empty, thus 
> causing opStack.peek() to return a NULL value.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (DRILL-4974) NPE in FindPartitionConditions.analyzeCall() for 'holistic' expressions

2017-03-31 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-4974:
---
Reviewer: Krystal  (was: Chun Chang)

> NPE in FindPartitionConditions.analyzeCall() for 'holistic' expressions
> ---
>
> Key: DRILL-4974
> URL: https://issues.apache.org/jira/browse/DRILL-4974
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Relational Operators
>Affects Versions: 1.6.0, 1.7.0, 1.8.0
>Reporter: Karthikeyan Manivannan
>Assignee: Karthikeyan Manivannan
> Fix For: 1.9.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> The following query can cause an NPE in FindPartitionConditions.analyzeCall() 
> if the fileSize column is a partitioned column. 
> SELECT  fileSize FROM dfs.`/drill-data/data/` WHERE compoundId LIKE 
> 'FOO-1234567%'
> This is because, the LIKE is treated as a holistic expression in 
> FindPartitionConditions.analyzeCall(), causing opStack to be empty, thus 
> causing opStack.peek() to return a NULL value.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-5121) A memory leak is observed when exact case is not specified for a column in a filter condition

2017-03-31 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5121.
--

Verified and test cases added to automation.

> A memory leak is observed when exact case is not specified for a column in a 
> filter condition
> -
>
> Key: DRILL-5121
> URL: https://issues.apache.org/jira/browse/DRILL-5121
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Relational Operators
>Affects Versions: 1.6.0, 1.8.0
>Reporter: Karthikeyan Manivannan
>Assignee: Karthikeyan Manivannan
>  Labels: ready-to-commit
> Fix For: 1.10.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> When the query SELECT XYZ from dfs.`/tmp/foo' where xYZ like "abc", is 
> executed on a setup where /tmp/foo has 2 Parquet files, 1.parquet and 
> 2.parquet, where 1.parquet has the column XYZ but 2.parquet does not, then 
> there is a memory leak. 
> This seems to happen because xYZ seem to be treated as a new column. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (DRILL-5121) A memory leak is observed when exact case is not specified for a column in a filter condition

2017-03-31 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-5121:
---
Reviewer: Krystal  (was: Chun Chang)

> A memory leak is observed when exact case is not specified for a column in a 
> filter condition
> -
>
> Key: DRILL-5121
> URL: https://issues.apache.org/jira/browse/DRILL-5121
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Relational Operators
>Affects Versions: 1.6.0, 1.8.0
>Reporter: Karthikeyan Manivannan
>Assignee: Karthikeyan Manivannan
>  Labels: ready-to-commit
> Fix For: 1.10.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> When the query SELECT XYZ from dfs.`/tmp/foo' where xYZ like "abc", is 
> executed on a setup where /tmp/foo has 2 Parquet files, 1.parquet and 
> 2.parquet, where 1.parquet has the column XYZ but 2.parquet does not, then 
> there is a memory leak. 
> This seems to happen because xYZ seem to be treated as a new column. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-5091) JDBC unit test fail on Java 8

2017-03-30 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5091.
--

Ran the TestJdbcTest against java 8 and there were no failures:
Results :

Tests run: 28, Failures: 0, Errors: 0, Skipped: 7

> JDBC unit test fail on Java 8
> -
>
> Key: DRILL-5091
> URL: https://issues.apache.org/jira/browse/DRILL-5091
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.8.0
> Environment: Java 8
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>  Labels: ready-to-commit
> Fix For: 1.10.0
>
>
> Run the {{TestJDBCQuery}} unit tests. They will fail with errors relating to 
> the default name space.
> The problem is due to a failure (that is ignored, DRILL-5090) to set up the 
> test DFS name space.
> The "dfs_test" storage plugin is not found in the plugin registry, resulting 
> in a null object and NPE.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-5043) Function that returns a unique id per session/connection similar to MySQL's CONNECTION_ID()

2017-03-29 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5043?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5043.
--

Verified that session_id function works as expected via the following tests:
1. Each sqlline session returns different session_id.
2. In the same session, multiple "select session_id" queries return the same 
result.
3. For table with column name of "session_id", using table alias with column in 
the select clause returns data for column.
4. Ran tests from sqlline and Web UI; with and without impersonation.

> Function that returns a unique id per session/connection similar to MySQL's 
> CONNECTION_ID()
> ---
>
> Key: DRILL-5043
> URL: https://issues.apache.org/jira/browse/DRILL-5043
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Functions - Drill
>Affects Versions: 1.8.0
>Reporter: Nagarajan Chinnasamy
>Assignee: Arina Ielchiieva
>Priority: Minor
>  Labels: CONNECTION_ID, SESSION, UDF, doc-impacting
> Fix For: 1.10.0
>
> Attachments: 01_session_id_sqlline.png, 
> 02_session_id_webconsole_query.png, 03_session_id_webconsole_result.png
>
>
> Design and implement a function that returns a unique id per 
> session/connection similar to MySQL's CONNECTION_ID().
> *Implementation details*
> function *session_id* will be added. Function returns current session unique 
> id represented as string. Parameter {code:java} boolean isNiladic{code} will 
> be added to UDF FunctionTemplate to indicate if a function is niladic (a 
> function to be called without any parameters and parentheses)
> Please note, this function will override columns that have the same name. 
> Table alias should be used to retrieve column value from table.
> Example:
> {code:sql}select session_id from   // returns the value of niladic 
> function session_id {code} 
> {code:sql}select t1.session_id from  t1 // returns session_id column 
> value from table {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-5081) Excessive info level logging introduced in DRILL-4203

2017-03-28 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5081.
--

Verified that bug is fixed.

> Excessive info level logging introduced in DRILL-4203
> -
>
> Key: DRILL-5081
> URL: https://issues.apache.org/jira/browse/DRILL-5081
> Project: Apache Drill
>  Issue Type: Bug
>Reporter: Sudheesh Katkam
>Assignee: Vitalii Diravka
> Fix For: 1.10.0
>
>
> Excessive info level logging introduced in 
> [8461d10|https://github.com/apache/drill/commit/8461d10b4fd6ce56361d1d826bb3a38b6dc8473c].
>  A line is printed for every row group being read, and for every metadata 
> file.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-5097) Using store.parquet.reader.int96_as_timestamp gives IOOB whereas convert_from works

2017-03-28 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5097.
--

Verified that bug is fixed.  Automation will be added as part of DRILL-5034

> Using store.parquet.reader.int96_as_timestamp gives IOOB whereas convert_from 
> works
> ---
>
> Key: DRILL-5097
> URL: https://issues.apache.org/jira/browse/DRILL-5097
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Data Types, Storage - Parquet
>Affects Versions: 1.9.0
>Reporter: Vitalii Diravka
>Assignee: Vitalii Diravka
>  Labels: ready-to-commit
> Fix For: 1.10.0
>
> Attachments: data.snappy.parquet
>
>
> Using store.parquet.reader.int96_as_timestamp gives IOOB whereas convert_from 
> works. 
> The below query succeeds:
> {code}
> select c, convert_from(d, 'TIMESTAMP_IMPALA') from 
> dfs.`/drill/testdata/parquet_timestamp/spark_generated/d3`;
> {code}
> The below query fails:
> {code}
> 0: jdbc:drill:zk=10.10.100.190:5181> alter session set 
> `store.parquet.reader.int96_as_timestamp` = true;
> +---+---+
> |  ok   |  summary  |
> +---+---+
> | true  | store.parquet.reader.int96_as_timestamp updated.  |
> +---+---+
> 1 row selected (0.231 seconds)
> 0: jdbc:drill:zk=10.10.100.190:5181> select c, d from 
> dfs.`/drill/testdata/parquet_timestamp/spark_generated/d3`;
> Error: SYSTEM ERROR: IndexOutOfBoundsException: readerIndex: 0, writerIndex: 
> 131076 (expected: 0 <= readerIndex <= writerIndex <= capacity(131072))
> Fragment 0:0
> [Error Id: bd94f477-7c01-420f-8920-06263212177b on qa-node190.qa.lab:31010] 
> (state=,code=0)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (DRILL-5389) select 2 int96 using convert_from(col, 'TIMESTAMP_IMPALA') function fails

2017-03-27 Thread Krystal (JIRA)
Krystal created DRILL-5389:
--

 Summary: select 2 int96 using convert_from(col, 
'TIMESTAMP_IMPALA') function fails
 Key: DRILL-5389
 URL: https://issues.apache.org/jira/browse/DRILL-5389
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Parquet
Affects Versions: 1.9.0, 1.10.0
Reporter: Krystal


I have a table containing 2 int96 time stamp columns. If I select one column at 
a time, it works.

select convert_from(create_timestamp1, 'TIMESTAMP_IMPALA') from 
dfs.`/user/hive/warehouse/hive1_parquet` where voter_id=3;
++
| EXPR$0 |
++
| 2017-04-14 02:27:55.0  |
++

select convert_from(create_timestamp2, 'TIMESTAMP_IMPALA') from 
dfs.`/user/hive/warehouse/hive1_parquet` where voter_id=3;
++
| EXPR$0 |
++
| 2017-05-30 19:30:11.0  |
++

However, if I include both columns on the same select, it fails:
select convert_from(create_timestamp1, 'TIMESTAMP_IMPALA'), 
convert_from(create_timestamp2, 'TIMESTAMP_IMPALA') from 
dfs.`/user/hive/warehouse/hive1_parquet` where voter_id=3;
Error: SYSTEM ERROR: ArrayIndexOutOfBoundsException: 0

This is reproducible in drill-1.9 also.

In drill-1.10, setting store.parquet.reader.int96_as_timestamp`=true, the same 
query works fine.
select create_timestamp1,create_timestamp2 from 
dfs.`/user/hive/warehouse/hive1_parquet` where voter_id=3;
+++
|   create_timestamp1|   create_timestamp2|
+++
| 2017-04-14 02:27:55.0  | 2017-05-30 19:30:11.0  |
+++




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (DRILL-5381) convert_from(col, 'TIMESTAMP_IMPALA') returns incorrect timestamp if there are multiple nulls

2017-03-24 Thread Krystal (JIRA)
Krystal created DRILL-5381:
--

 Summary: convert_from(col, 'TIMESTAMP_IMPALA') returns incorrect 
timestamp if there are multiple nulls 
 Key: DRILL-5381
 URL: https://issues.apache.org/jira/browse/DRILL-5381
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Parquet
Affects Versions: 1.9.0, 1.8.0, 1.10.0
Reporter: Krystal


In drill-1.10, setting `store.parquet.reader.int96_as_timestamp`=true returns 
expected data:

select voter_id,create_timestamp from 
dfs.`/user/hive/warehouse/voter_hive_parquet` limit 15;
+---++
| voter_id  |create_timestamp|
+---++
| 1 | 2016-10-23 20:03:58.0  |
| 2 | null   |
| 3 | 2016-09-09 12:01:18.0  |
| 4 | 2017-03-06 20:35:55.0  |
| 5 | 2017-01-20 22:32:43.0  |
| 6 | 2016-10-22 05:46:12.0  |
| 7 | 2016-09-19 10:21:29.0  |
| 8 | null   |
| 9 | 2016-07-23 13:39:02.0  |
| 10| 2017-01-28 17:27:19.0  |
| 11| 2016-10-23 10:55:44.0  |
| 12| 2016-06-07 22:44:03.0  |
| 13| 2016-05-04 13:59:20.0  |
| 14| 2016-11-08 17:20:14.0  |
| 15| 2016-05-14 11:23:53.0  |
+---++

However, setting  `store.parquet.reader.int96_as_timestamp`=false returns 
incorrect timestamp when it encounters the second "null" value.

select voter_id,convert_from(create_timestamp, 'TIMESTAMP_IMPALA') from 
dfs.`/user/hive/warehouse/voter_hive_parquet` limit 15;
+---++
| voter_id  | EXPR$1 |
+---++
| 1 | 2016-10-23 20:03:58.0  |
| 2 | null   |
| 3 | 2016-09-09 12:01:18.0  |
| 4 | 2017-03-06 20:35:55.0  |
| 5 | 2017-01-20 22:32:43.0  |
| 6 | 2016-10-22 05:46:12.0  |
| 7 | 2016-09-19 10:21:29.0  |
| 8 | 2016-07-23 13:39:02.0  |
| 9 | 2016-10-23 10:55:44.0  |
| 10| 2016-06-07 22:44:03.0  |
| 11| 2016-05-04 13:59:20.0  |
| 12| 2016-11-08 17:20:14.0  |
| 13| 2016-05-14 11:23:53.0  |
| 14| 2016-06-20 16:18:51.0  |
| 15| 2016-09-09 10:02:28.0  |
+---++

Notice that the timestamp for voter_id=9 shifts to voter_id=8 which suppose to 
have value of "null".  The rest of the timestamps after voter_id=7 are 
incorrect.  This issue is also reproducible on both drill-1.8.0 and drill-1.9.0.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (DRILL-4373) Drill and Hive have incompatible timestamp representations in parquet

2017-03-22 Thread Krystal (JIRA)

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

Krystal commented on DRILL-4373:


[~rkins] For #1, I will check.  For #2, I tested that and it works as expected. 
 For #3 and #4, TIMESTAMP_IMPALA_LOCALTIMEZONE function is removed as part of 
DRILL-5034.

> Drill and Hive have incompatible timestamp representations in parquet
> -
>
> Key: DRILL-4373
> URL: https://issues.apache.org/jira/browse/DRILL-4373
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Hive, Storage - Parquet
>Affects Versions: 1.8.0
>Reporter: Rahul Challapalli
>Assignee: Vitalii Diravka
>  Labels: doc-impacting
> Fix For: 1.10.0
>
>
> git.commit.id.abbrev=83d460c
> I created a parquet file with a timestamp type using Drill. Now if I define a 
> hive table on top of the parquet file and use "timestamp" as the column type, 
> drill fails to read the hive table through the hive storage plugin
> Implementation: 
> Added int96 to timestamp converter for both parquet readers and controling it 
> by system / session option "store.parquet.int96_as_timestamp".
> The value of the option is false by default for the proper work of the old 
> query scripts with the "convert_from TIMESTAMP_IMPALA" function.
> When the option is true using of that function is unnesessary and can lead to 
> the query fail.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-4373) Drill and Hive have incompatible timestamp representations in parquet

2017-03-21 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4373.
--

Verified as part of DRILL-5034

> Drill and Hive have incompatible timestamp representations in parquet
> -
>
> Key: DRILL-4373
> URL: https://issues.apache.org/jira/browse/DRILL-4373
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Hive, Storage - Parquet
>Affects Versions: 1.8.0
>Reporter: Rahul Challapalli
>Assignee: Vitalii Diravka
>  Labels: doc-impacting
> Fix For: 1.10.0
>
>
> git.commit.id.abbrev=83d460c
> I created a parquet file with a timestamp type using Drill. Now if I define a 
> hive table on top of the parquet file and use "timestamp" as the column type, 
> drill fails to read the hive table through the hive storage plugin
> Implementation: 
> Added int96 to timestamp converter for both parquet readers and controling it 
> by system / session option "store.parquet.int96_as_timestamp".
> The value of the option is false by default for the proper work of the old 
> query scripts with the "convert_from TIMESTAMP_IMPALA" function.
> When the option is true using of that function is unnesessary and can lead to 
> the query fail.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (DRILL-5034) Select timestamp from hive generated parquet always return in UTC

2017-03-21 Thread Krystal (JIRA)

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

Krystal commented on DRILL-5034:


Verified that int96 timestamps return correct result for queries against 
various user timezones such as UTC, PST, and EST.  Tested with  alter session 
set `store.parquet.reader.int96_as_timestamp`=true/false. 

> Select timestamp from hive generated parquet always return in UTC
> -
>
> Key: DRILL-5034
> URL: https://issues.apache.org/jira/browse/DRILL-5034
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Storage - Parquet
>Affects Versions: 1.9.0
>Reporter: Krystal
>Assignee: Vitalii Diravka
>  Labels: doc-impacting, ready-to-commit
> Fix For: 1.10.0
>
>
> commit id: 5cea9afa6278e21574c6a982ae5c3d82085ef904
> Reading timestamp data against a hive parquet table from drill automatically 
> converts the timestamp data to UTC. 
> {code}
> SELECT TIMEOFDAY() FROM (VALUES(1));
> +--+
> |EXPR$0|
> +--+
> | 2016-11-10 12:33:26.547 America/Los_Angeles  |
> +--+
> {code}
> data schema:
> {code}
> message hive_schema {
>   optional int32 voter_id;
>   optional binary name (UTF8);
>   optional int32 age;
>   optional binary registration (UTF8);
>   optional fixed_len_byte_array(3) contributions (DECIMAL(6,2));
>   optional int32 voterzone;
>   optional int96 create_timestamp;
>   optional int32 create_date (DATE);
> }
> {code}
> Using drill-1.8, the returned timestamps match the table data:
> {code}
> select convert_from(create_timestamp, 'TIMESTAMP_IMPALA') from 
> `/user/hive/warehouse/voter_hive_parquet` limit 5;
> ++
> | EXPR$0 |
> ++
> | 2016-10-23 20:03:58.0  |
> | null   |
> | 2016-09-09 12:01:18.0  |
> | 2017-03-06 20:35:55.0  |
> | 2017-01-20 22:32:43.0  |
> ++
> 5 rows selected (1.032 seconds)
> {code}
> If the user timzone is changed to UTC, then the timestamp data is returned in 
> UTC time.
> Using drill-1.9, the returned timestamps got converted to UTC eventhough the 
> user timezone is in PST.
> {code}
> select convert_from(create_timestamp, 'TIMESTAMP_IMPALA') from 
> dfs.`/user/hive/warehouse/voter_hive_parquet` limit 5;
> ++
> | EXPR$0 |
> ++
> | 2016-10-24 03:03:58.0  |
> | null   |
> | 2016-09-09 19:01:18.0  |
> | 2017-03-07 04:35:55.0  |
> | 2017-01-21 06:32:43.0  |
> ++
> {code}
> {code}
> alter session set `store.parquet.reader.int96_as_timestamp`=true;
> +---+---+
> |  ok   |  summary  |
> +---+---+
> | true  | store.parquet.reader.int96_as_timestamp updated.  |
> +---+---+
> select create_timestamp from dfs.`/user/hive/warehouse/voter_hive_parquet` 
> limit 5;
> ++
> |create_timestamp|
> ++
> | 2016-10-24 03:03:58.0  |
> | null   |
> | 2016-09-09 19:01:18.0  |
> | 2017-03-07 04:35:55.0  |
> | 2017-01-21 06:32:43.0  |
> ++
> {code}
>  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-867) tpcds queries 6, 9 and 10 fail to plan

2017-03-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-867.
-

Bug was verified.

> tpcds queries 6, 9 and 10 fail to plan
> --
>
> Key: DRILL-867
> URL: https://issues.apache.org/jira/browse/DRILL-867
> Project: Apache Drill
>  Issue Type: Bug
>  Components: SQL Parser
>Reporter: Krystal
>Priority: Minor
> Fix For: Future
>
>
> git.commit.id.abbrev=e1e5ea0
> git.commit.time=29.05.2014 @ 15\:32\:29 PDT
> query 6:
> {code}
> select * from (select  a.ca_state state, count(*) cnt
>  from customer_address a
>  ,customer c
>  ,store_sales s
>  ,date_dim d
>  ,item i
>  where  a.ca_address_sk = c.c_current_addr_sk
>   and c.c_customer_sk = s.ss_customer_sk
>   and s.ss_sold_date_sk = d.d_date_sk
>   and s.ss_item_sk = i.i_item_sk
>   and d.d_month_seq = 
>(select distinct (d.d_month_seq)
> from date_dim d
>where d.d_year = 1998
>   and d.d_moy = 5 ) 
>   and i.i_current_price > 1.2 * 
>  (select avg(j.i_current_price)
>from item j 
>where j.i_category = i.i_category)
>  group by a.ca_state
>  having count(*) >= 10
>  order by cnt
>  ) limit 100;
> {code}
> query 7:



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-573) SUBSTR/SUBSTRING functions of a number requires explicit cast

2017-03-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-573.
-

Bug was verified.

> SUBSTR/SUBSTRING functions of a number requires explicit cast
> -
>
> Key: DRILL-573
> URL: https://issues.apache.org/jira/browse/DRILL-573
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.0.0
>Reporter: Krystal
> Fix For: 0.4.0
>
>
> Unlike Oracle, drill requires explicit cast a number to string when used in a 
> substr or substring function.  
> Here is the test data:
> select * from voter where voter_id=11;
>  voter_id | name | age | registration | contributions | voterzone | 
> create_time 
> +--+-+--+---+---+-
>  11 |  |  58 | republican   |578.08 | 16161 | 2014-08-27 
> 06:35:33
> In drill, an explicit cast is required:
> 0: jdbc:drill:schema=dfs> select substr(cast(contributions as varchar(8)), 3, 
> 5) from voter where voter_id=11;
> ++
> |   EXPR$0   |
> ++
> | 8.08   |
> ++
> If explicit cast is not given, drill returns result in some form of binary 
> data:
> 0: jdbc:drill:schema=dfs> select substr(contributions, 3, 5) from voter where 
> voter_id=11;
> ++
> |   EXPR$0   |
> ++
> | 㠮〸 |
> ++
> In Oracle, the cast is implicit:
> SQL> select substr(contributions, 3, 5) from voter where voter_id=11;
> SUBST
> -
> 8.08



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-710) SIGN function should return an int value

2017-03-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-710.
-

bug was verified.

> SIGN function should return an int value
> 
>
> Key: DRILL-710
> URL: https://issues.apache.org/jira/browse/DRILL-710
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 0.1.0-m1
>Reporter: Krystal
> Fix For: 0.4.0
>
> Attachments: DRILL-710.patch
>
>
> The SIGN(n) function should return int values of 0, 1, or -1 regardless of 
> number data type of n.  In drill, the return value is 1.0/-1.0/0.0 if n is a 
> decimal value and 1/-1/0 if n is an int.  In oracle, postgres, and mysql, the 
> return value is an int regardless of numeric data type passed to n.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-789) Left outer join returns "null" values for columns from the right table

2017-03-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-789.
-

Bug was verified.

> Left outer join returns "null" values for columns from the right table
> --
>
> Key: DRILL-789
> URL: https://issues.apache.org/jira/browse/DRILL-789
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Flow
>Reporter: Krystal
> Fix For: 0.4.0
>
> Attachments: DRILL-789.patch
>
>
> git.commit.id.abbrev=5d7e3d3
> 0: jdbc:drill:schema=dfs> select voter.name voter_name, voter.registration 
> registration, student.name student_name, student.gpa gpa from voter left 
> outer join student on (student.name = voter.name) where voter.age < 30;
> ++--+--++
> | voter_name | registration | student_name |gpa |
> ++--+--++
> | [B@6ca2652 | [B@4199d4f9  | null | null   |
> | [B@5a6d4914 | [B@3cd8ee6d  | null | null   |
> | [B@460d5550 | [B@155c1b1e  | null | null   |
> | [B@51f85986 | [B@7bd9675   | null | null   |
> | [B@2fe0df4b | [B@5463cd7b  | null | null   |
> | [B@64477185 | [B@e6e0632   | null | null   |



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-575) RPAD/LPAD functions fails when padded string is not specified

2017-03-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-575.
-

Bug was verified.

> RPAD/LPAD functions fails when padded string is not specified
> -
>
> Key: DRILL-575
> URL: https://issues.apache.org/jira/browse/DRILL-575
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.0.0
>Reporter: Krystal
> Fix For: 0.4.0
>
> Attachments: DRILL-575.patch
>
>
> In oracle and postgres, rpad and lpad functions defaults to spaces when str2 
> is not specified - rpad(str1, length [, str2]).  For example in oracle:
> SQL> select rpad(name,20) from voter where voter_id=10;
> RPAD(NAME,20)
> 
> tom underhill
> SQL> select lpad(name,20) from voter where voter_id=10;
> LPAD(NAME,20)
> 
>tom underhill
> In drill, the queries fail because the str2 parameter is required:
> 0: jdbc:drill:schema=dfs> relect lpad(name, 20) from voter where voter_id=10;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
> running query.[error_id: "dde5cf1c-1d05-46c4-902a-c4bd6621c065"
> endpoint {
>   address: "qa-node57.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while parsing sql. < SqlParseException:[ Non-query 
> expression encountered in illegal context ] < EigenbaseException:[ Non-query 
> expression encountered in illegal context ]"
> ]



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-574) RPAD function returns different result compared to other rdbms when length is less than string

2017-03-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-574.
-

bug was verified.

> RPAD function returns different result compared to other rdbms when length is 
> less than string
> --
>
> Key: DRILL-574
> URL: https://issues.apache.org/jira/browse/DRILL-574
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.0.0
>Reporter: Krystal
> Fix For: 0.4.0
>
> Attachments: DRILL-574.patch
>
>
> The rpad function - rpad(str1, length [, str2]) returns different result 
> compared to postgres, oracle and mysql when length is less than the lenght of 
> str1.  For example:
> select * from voter where voter_id=10;
>  voter_id | name  | age | registration | contributions | voterzone |  
>create_time 
> +---+-+--+---+---+-
>  10 | tom underhill |  75 | socialist|525.33 | 18592 | 
> 2015-01-24 07:27:05
> 0: jdbc:drill:schema=dfs> select rpad(name, 8, 'A') from voter where 
> voter_id=10;
> ++
> |   EXPR$0   |
> ++
> | nderhill   |
> ++
> The above result from drill truncates the name from right to left.  For the 
> other rdbms:
> SQL> select rpad(name, 8, 'A') from voter where voter_id=10;
> RPAD(NAM
> 
> tom unde
> Looks like truncation occurs from left to right eventhough it's rpad.  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-503) Cast fail for float and double

2017-03-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-503.
-

Bug was verified.

> Cast fail for float and double
> --
>
> Key: DRILL-503
> URL: https://issues.apache.org/jira/browse/DRILL-503
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.0.0
>Reporter: Krystal
> Fix For: 0.4.0
>
>
> Cast failed for the following queries:
> 0: jdbc:drill:schema=dfs> select cast(gpa as double) from dfs.`student`;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
> running query.[error_id: "9cb5c45d-cf98-44f9-8e14-46f537cf2fa2"
> endpoint {
>   address: "qa-node57.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while setting up query. < FragmentSetupException:[ Failure 
> while trying to convert fragment into json. ] < JsonMappingException:[ (was 
> java.lang.NullPointerException) (through reference chain: 
> org.apache.drill.exec.physical.config.Screen[\"child\"]->org.apache.drill.exec.physical.config.Project[\"exprs\"]->java.util.ArrayList[0]->org.apache.drill.common.logical.data.NamedExpression[\"expr\"])
>  ] < NullPointerException"
> ]
> Error: exception while executing query (state=,code=0)
> -
> 0: jdbc:drill:schema=dfs> select cast(gpa as float8) from dfs.`student`;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
> running query.[error_id: "1f5f85ef-1d78-4d87-bdea-feebf7521aff"
> endpoint {
>   address: "qa-node57.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while parsing sql. < ValidationException:[ 
> org.eigenbase.util.EigenbaseContextException: From line 1, column 20 to line 
> 1, column 25 ] < EigenbaseContextException:[ From line 1, column 20 to line 
> 1, column 25 ] < SqlValidatorException:[ Unknown datatype name \'float8\' ]"
> ]
> Error: exception while executing query (state=,code=0)
> 
> 0: jdbc:drill:schema=dfs> select cast(gpa as float) from dfs.`student`;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
> running query.[error_id: "1fc8859f-b6ac-4789-9265-1d2810b72abc"
> endpoint {
>   address: "qa-node57.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while setting up query. < FragmentSetupException:[ Failure 
> while trying to convert fragment into json. ] < JsonMappingException:[ (was 
> java.lang.NullPointerException) (through reference chain: 
> org.apache.drill.exec.physical.config.Screen[\"child\"]->org.apache.drill.exec.physical.config.Project[\"exprs\"]->java.util.ArrayList[0]->org.apache.drill.common.logical.data.NamedExpression[\"expr\"])
>  ] < NullPointerException"
> ]
> Error: exception while executing query (state=,code=0)
> --
> 0: jdbc:drill:schema=dfs> select cast(gpa as float8) from dfs.`student`;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
> running query.[error_id: "8af67797-d174-4b84-b9b7-e6fe9413908b"
> endpoint {
>   address: "qa-node57.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while parsing sql. < ValidationException:[ 
> org.eigenbase.util.EigenbaseContextException: From line 1, column 20 to line 
> 1, column 25 ] < EigenbaseContextException:[ From line 1, column 20 to line 
> 1, column 25 ] < SqlValidatorException:[ Unknown datatype name \'float8\' ]"
> ]
> Error: exception while executing query (state=,code=0)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-673) Select against M7 table fails due to missing hbase jars in classpaths

2017-03-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-673.
-

Closing bug.

> Select against M7 table fails due to missing hbase jars in classpaths
> -
>
> Key: DRILL-673
> URL: https://issues.apache.org/jira/browse/DRILL-673
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 0.1.0-m1
>Reporter: Krystal
> Fix For: 0.4.0
>
>
> I have an m7 table at this location:
> hbase(main):014:0> list '/test/tables'
> TABLE 
> 
> /test/tables/m7voter  
> From sqlline, I ran the following query:
> 0: jdbc:drill:schema=hbase> select * from `/test/tables/m7voter` limit 5;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
> running query.[error_id: "4e7d2b40-6511-436b-a459-ab0667cd5f74"
> endpoint {
>   address: "qa-node64.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while parsing sql. < ValidationException:[ 
> org.eigenbase.util.EigenbaseContextException: From line 1, column 15 to line 
> 1, column 36 ] < EigenbaseContextException:[ From line 1, column 15 to line 
> 1, column 36 ] < SqlValidatorException:[ Table \'/test/tables/m7voter\' not 
> found ]"
> ]
> Error: exception while executing query (state=,code=0)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-758) to_timestamp(unix time) not returning correct result

2017-03-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-758.
-

Bug was verified.

> to_timestamp(unix time) not returning correct result
> 
>
> Key: DRILL-758
> URL: https://issues.apache.org/jira/browse/DRILL-758
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Reporter: Krystal
> Fix For: 0.4.0
>
> Attachments: DRILL-758.patch
>
>
> Ran the following to_timestamp query passing it a unix timestamp:
> select to_timestamp(1284352323) from voter where voter_id=10;
> The value returned looks like unix epoch time:
>  1970-01-15T20:45:52.323-08:00
> Any unix time used returned the same year (1970) and month (01).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-772) Null values are not filtered out in query result

2017-03-15 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-772.
-

Bug was verified.

> Null values are not filtered out in query result
> 
>
> Key: DRILL-772
> URL: https://issues.apache.org/jira/browse/DRILL-772
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Relational Operators
>Reporter: Krystal
> Fix For: 0.4.0
>
>
> git.commit.id.abbrev=70fab8c
> 0: jdbc:drill:schema=dfs> select voter_id, name, age from voter where age not 
> between 20 and 80;
> ++++
> |  voter_id  |name|age |
> ++++
> | 3  | [B@183c94e6 | 18 |
> | 17 | [B@31539478 | null   |
> | 22 | [B@66386b94 | 19 |
> | 57 | [B@21ef5fa | 19 |
> | 59 | [B@3ea6f12c | 18 |
> | 70 | [B@42239fd6 | 18 |
> | 85 | [B@30d2bc86 | 19 |
> | 92 | [B@5b571a74 | null   |
> | 109| [B@3389e485 | 18 |
> | 111| [B@21f9f232 | 18 |
> The output above returned age with "null" values.  In oracle and postgres, 
> the rows with "null" value for age are filtered out.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-5208) Finding path to java executable should be deterministic

2017-03-06 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5208.
--

commit id: 3dfb497293a177164a158b246000ee8291ef258c

On my two nodes where the order of the paths to the java executable are 
different:
find -L $JAVA_HOME -name java -type f
/usr/local/java/jdk1.7.0_67/jre/bin/java
/usr/local/java/jdk1.7.0_67/bin/java

find -L $JAVA_HOME -name java -type f
/usr/local/java/jdk1.7.0_67/bin/java
/usr/local/java/jdk1.7.0_67/jre/bin/java

Now, the paths of the java executable on the two nodes are pointing to the same 
location: /usr/local/java/jdk1.7.0_67//bin/java

> Finding path to java executable should be deterministic
> ---
>
> Key: DRILL-5208
> URL: https://issues.apache.org/jira/browse/DRILL-5208
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Tools, Build & Test
>Affects Versions: 1.10.0
>Reporter: Krystal
>Assignee: Paul Rogers
>Priority: Minor
>  Labels: ready-to-commit
> Fix For: 1.10.0
>
>
> Command to find JAVA in drill-config.sh is not deterministic.  
> drill-config.sh uses the following command to find JAVA:
> JAVA=`find -L "$JAVA_HOME" -name $JAVA_BIN -type f | head -n 1`
> On one of my node the following command returned 2 entries:
> find -L $JAVA_HOME -name java -type f
> /usr/local/java/jdk1.7.0_67/jre/bin/java
> /usr/local/java/jdk1.7.0_67/bin/java
> On another node, the same command returned entries in different order:
> find -L $JAVA_HOME -name java -type f
> /usr/local/java/jdk1.7.0_67/bin/java
> /usr/local/java/jdk1.7.0_67/jre/bin/java
> The complete command picks the first one returned which may not be the same 
> on each node:
> find -L $JAVA_HOME -name java -type f | head -n 1
> /usr/local/java/jdk1.7.0_67/jre/bin/java
> If JAVA_HOME is found, we should just append the "bin/java" to the path"
> JAVA=$JAVA_HOME/bin/java



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (DRILL-520) ceiling/ceil and floor functions return decimal value instead of an integer

2017-02-21 Thread Krystal (JIRA)

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

Krystal commented on DRILL-520:
---

Tried the tests on the latest 1.10 master and the results are still the same as 
originally reported. 

> ceiling/ceil and floor functions return decimal value instead of an integer
> ---
>
> Key: DRILL-520
> URL: https://issues.apache.org/jira/browse/DRILL-520
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.0.0
>Reporter: Krystal
>Assignee: Jinfeng Ni
>Priority: Critical
> Fix For: Future
>
> Attachments: DRILL-520.patch
>
>
> Ran the following queries in drill:
> 0: jdbc:drill:schema=dfs> select ceiling(55.8) from dfs.`student` where 
> rownum=11;
> ++
> |   EXPR$0   |
> ++
> | 56.0   |
> ++
> 0: jdbc:drill:schema=dfs> select floor(55.8) from dfs.`student` where 
> rownum=11;
> ++
> |   EXPR$0   |
> ++
> | 55.0   |
> ++
> The same queries executed from oracle, postgres and mysql returned integer 
> values of 56 and 55.
> Found the following description of the two functions from 
> http://users.atw.hu/sqlnut/sqlnut2-chp-4-sect-4.html :
> Ceil/Ceiling:
> Rounds a noninteger value upwards to the next greatest integer. Returns an 
> integer value unchanged.
> Floor:
> Rounds a noninteger value downwards to the next least integer. Returns an 
> integer value unchanged.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-515) Result from int divided by in drill not consistent with other databases.

2017-02-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-515.
-

Close as won't fix.

> Result from int divided by in drill not consistent with other databases. 
> -
>
> Key: DRILL-515
> URL: https://issues.apache.org/jira/browse/DRILL-515
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.0.0
>Reporter: Krystal
> Fix For: 0.4.0
>
>
> Here is the schema of voter parquet table:
> message pig_schema {
>   optional int32 rownum;
>   optional binary name;
>   optional int32 age;
>   optional binary registration;
>   optional double contributions;
>   optional int32 voterzone;
>   optional binary create_time;
> }
> Row data from voter table:
> 0: jdbc:drill:schema=dfs> select rownum, age from dfs.`voter` where rownum=10;
> +++
> |   rownum   |age |
> +++
> | 10 | 75 |
> +++
> Division query from drill:
> 0: jdbc:drill:schema=dfs> select (age/rownum) from dfs.`voter` where 
> rownum=10;
> ++
> |   EXPR$0   |
> ++
> | 7  |
> ++
> If hard code the value, 7.5 is returned:
> 0: jdbc:drill:schema=dfs> select (75/10) from dfs.`voter` where rownum=10;
> ++
> |   EXPR$0   |
> ++
> | 7.5|
> ++
> Here is the result from postgres:
> postgres=# \d voter
>   Table "public.voter"
> Column |Type | Modifiers 
> ---+-+---
>  rownum| integer | 
>  name  | character varying(50)   | 
>  age   | integer | 
>  registration  | character varying(20)   | 
>  contributions | numeric(7,2)| 
>  voterzone | smallint| 
>  create_time   | timestamp without time zone | 
> postgres=# select (age/rownum) from voter where rownum=10;
>  ?column? 
> --
> 7
> (1 row)
> postgres=# select (75/10) from voter where rownum=10;
>  ?column? 
> --
> 7
> (1 row)
> From Oracle:
> SQL> describe voter;
>  NameNull?Type
>  -  
> 
>  VOTER_ID NUMBER
>  NAME VARCHAR2(50)
>  AGE  NUMBER
>  REGISTRATION VARCHAR2(20)
>  CONTRIBUTIONSNUMBER(5,2)
>  VOTERZONENUMBER
>  CREATE_TIME  TIMESTAMP(6)
> Note that oracle does not have an integer data type.
> SQL> select (age/voter_id) from voter where voter_id=10;
> (AGE/VOTER_ID)
> --
>  7.5
> SQL> select (75/10) as result from voter where voter_id=10;
> RESULT
> --
>7.5
> From mysql database:
> mysql> describe voter;
> +---+-+--+-+-+---+
> | Field | Type| Null | Key | Default | Extra |
> +---+-+--+-+-+---+
> | rownum| int(11) | YES  | | NULL|   |
> | name  | varchar(50) | YES  | | NULL|   |
> | age   | tinyint(4)  | YES  | | NULL|   |
> | registration  | varchar(15) | YES  | | NULL|   |
> | contributions | float   | YES  | | NULL|   |
> | voterzone | smallint(6) | YES  | | NULL|   |
> +---+-+--+-+-+---+
> mysql> select (age/rownum) from voter where rownum=10;
> +--+
> | (age/rownum) |
> +--+
> |   7.5000 |
> +--+
> mysql> select (75/10);
> +-+
> | (75/10) |
> +-+
> |  7.5000 |
> +-+



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-777) Parse error for modulo function "%"

2017-02-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-777.
-

Close as won't fix as drill do not support % modulo function.

> Parse error for modulo function "%" 
> 
>
> Key: DRILL-777
> URL: https://issues.apache.org/jira/browse/DRILL-777
> Project: Apache Drill
>  Issue Type: Bug
>  Components: SQL Parser
>Affects Versions: Future
>Reporter: Krystal
> Fix For: Future
>
>
> git.commit.id.abbrev=70fab8c
> 0: jdbc:drill:schema=dfs> select (age%rownum) from voter where voter_id=10;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
> running query.[error_id: "f1e9fcef-57f0-4d60-ab57-b5b73b33ee1c"
> endpoint {
>   address: "qa-node64.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while parsing sql. < SqlParseException:[ Lexical error at 
> line 1, column 12.  Encountered: "%" (37), after : "" ] < TokenMgrError:[ 
> Lexical error at line 1, column 12.  Encountered: "%" (37), after : "" ]"
> ]
> Stack trace:
> org.apache.drill.exec.planner.sql.parser.impl.TokenMgrError: Lexical error at 
> line 1, column 12.  Encountered: "%" (37), after : ""
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImplTokenManager.getNextToken(DrillParserImplTokenManager.java:13785)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_scan_token(DrillParserImpl.java:16417)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3_300(DrillParserImpl.java:15265)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_42(DrillParserImpl.java:15275)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3_376(DrillParserImpl.java:11721)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_83(DrillParserImpl.java:11738)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_124(DrillParserImpl.java:12018)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_114(DrillParserImpl.java:11190)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_74(DrillParserImpl.java:11342)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3_199(DrillParserImpl.java:11896)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_69(DrillParserImpl.java:11879)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_70(DrillParserImpl.java:12291)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3R_25(DrillParserImpl.java:12380)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_3_169(DrillParserImpl.java:12469)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.jj_2_169(DrillParserImpl.java:6391)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.LeafQueryOrExpr(DrillParserImpl.java:2386)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.QueryOrExpr(DrillParserImpl.java:2309)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache.drill.exec.planner.sql.parser.impl.DrillParserImpl.OrderedQueryOrExpr(DrillParserImpl.java:436)
>  
> ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> org.apache

[jira] [Closed] (DRILL-681) Drill returns big int result not matching expected result

2017-02-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-681.
-

Close bug as invalid.  This is not an issue.

> Drill returns big int result not matching expected result
> -
>
> Key: DRILL-681
> URL: https://issues.apache.org/jira/browse/DRILL-681
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 0.1.0-m1
>Reporter: Krystal
> Fix For: 0.4.0
>
>
> I have several functions that take integers (int, big int).  The output from 
> drill displays the numbers with E to the x power.  In some cases with huge 
> integer results, it truncates the data.  Here are some examples:
> select variance(voterzone) from voter;
> drill:  7.56958727143133E7
> postgres:  75695872.714313313313
> select var_samp(studentnum) from student;
> drill: 8.521370486035167E22
> postgres:  85213704860351887237202
> select variance(studentnum) from student;
> drill:  8.521370486035167E22
> postgres:  85213704860351887237202



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Closed] (DRILL-857) localtime function returns incorrect result

2017-02-16 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-857.
-

Close as a duplicate of DRILL-585.  Issue is fixed.

> localtime function returns incorrect result
> ---
>
> Key: DRILL-857
> URL: https://issues.apache.org/jira/browse/DRILL-857
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - CLI
>Reporter: Krystal
> Fix For: 0.4.0
>
>
> git.commit.id.abbrev=01bf849
> 0: jdbc:drill:schema=dfs> select localtime from voter where voter_id=10;
> ++
> | localtime  |
> ++
> | 1970-01-01T08:02:38.332-08:00 |



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (DRILL-5225) Needs better error message for table function when having incorrect table path

2017-01-26 Thread Krystal (JIRA)
Krystal created DRILL-5225:
--

 Summary: Needs better error message for table function when having 
incorrect table path
 Key: DRILL-5225
 URL: https://issues.apache.org/jira/browse/DRILL-5225
 Project: Apache Drill
  Issue Type: Bug
  Components: Functions - Drill
Affects Versions: 1.9.0, 1.10.0
Reporter: Krystal


When schema is missing from table path or full path to table is not given, the 
error message displayed is very misleading.  For example, the query below runs 
successfully with correct table path:

select columns[0],columns[1],columns[2] from 
table(`dfs.drillTestDir`.`/table_function/header.csv`(type=>'text',lineDelimiter=>'\r\n',fieldDelimiter=>',',skipFirstLine=>true));
+-+-+-+
| EXPR$0  | EXPR$1  | EXPR$2  |
+-+-+-+
| 1   | aaa | bbb |
| 2   | ccc | ddd |
| 3   | eee | null|
| 4   | fff | ggg |
+-+-+-+

However if the part of the path is left out, for example the schema, then a 
very misleading error is thrown:

SQL>select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
lineDelimiter=>'\r\n'))
1: SQLPrepare = [MapR][Drill] (1040) Drill failed to execute the query: select 
columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
lineDelimiter=>'\r\n'))
[30027]Query execution error. Details:[
SYSTEM ERROR: SqlValidatorException: No match found for function signature 
table_function/cr_lf.csv(type => , lineDelimiter => )

Error should indicate that table `table_function/cr_lf.csv` is not found.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-5222) C++ client unable to parse queries with table function

2017-01-25 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5222.
--
Resolution: Not A Bug

> C++ client unable to parse queries with table function
> --
>
> Key: DRILL-5222
> URL: https://issues.apache.org/jira/browse/DRILL-5222
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - C++
>Affects Versions: 1.10.0
>Reporter: Krystal
>
> The following query failed from was odbc and custom C++ client app:
> SQL>select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
> lineDelimiter=>'\r\n')) 
> 1: SQLPrepare = [MapR][Drill] (1040) Drill failed to execute the query: 
> select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
> lineDelimiter=>'\r\n'))
> [30027]Query execution error. Details:[ 
> SYSTEM ERROR: SqlValidatorException: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> Here is the stack trace:
> {code}
>SYSTEM ERROR: SqlValidatorException: No match found for function 
> signature table_function/cr_lf.csv(type => , lineDelimiter => )
>   (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception 
> during fragment initialization: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> org.apache.drill.exec.work.foreman.Foreman.run():281
> java.util.concurrent.ThreadPoolExecutor.runWorker():1145
> java.util.concurrent.ThreadPoolExecutor$Worker.run():615
> java.lang.Thread.run():745
>   Caused By (org.apache.drill.exec.exception.FunctionNotFoundException) No 
> match found for function signature table_function/cr_lf.csv(type => , 
> lineDelimiter => )
> org.apache.drill.exec.planner.sql.SqlConverter.validate():170
> 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():606
> 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():192
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():164
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan():122
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():96
> org.apache.drill.exec.work.foreman.Foreman.runSQL():1017
> org.apache.drill.exec.work.foreman.Foreman.run():264
> java.util.concurrent.ThreadPoolExecutor.runWorker():1145
> java.util.concurrent.ThreadPoolExecutor$Worker.run():615
> java.lang.Thread.run():745
>   Caused By (org.apache.calcite.runtime.CalciteContextException) From line 1, 
> column 45 to line 1, column 107: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> sun.reflect.NativeConstructorAccessorImpl.newInstance0():-2
> sun.reflect.NativeConstructorAccessorImpl.newInstance():57
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance():45
> java.lang.reflect.Constructor.newInstance():526
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex():405
> org.apache.calcite.sql.SqlUtil.newContextException():765
> org.apache.calcite.sql.SqlUtil.newContextException():753
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError():3974
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl.handleUnresolvedFunction():1583
> org.apache.calcite.sql.SqlFunction.deriveType():278
> org.apache.calcite.sql.SqlFunction.deriveType():222
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4337
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4324
> org.apache.calcite.sql.SqlCall.accept():130
> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl():1501
> org.apache.calcite.sql.validate.ProcedureNamespace.validateImpl():53
> org.apache.calcite.sql.validate.AbstractNamespace.validate():86
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2806
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2791
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3014
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
> org.apache.calcite.sql.validate.AbstractNamespace.validate():86
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2806
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2791
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3014
> org.apache.calcite.sql.validate.Sele

[jira] [Commented] (DRILL-5222) C++ client unable to parse queries with table function

2017-01-25 Thread Krystal (JIRA)

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

Krystal commented on DRILL-5222:


Sorry, it's my bad.  I ran a query against a view created with the table 
function using relative path (without the schema name) instead of the full 
path.  The ODBC session was not in the schema but my sqlline/UI session was; 
thus resulting in the error. Need a better error message in this case against 
the table function; will open a new bug for this. 

> C++ client unable to parse queries with table function
> --
>
> Key: DRILL-5222
> URL: https://issues.apache.org/jira/browse/DRILL-5222
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - C++
>Affects Versions: 1.10.0
>Reporter: Krystal
>
> The following query failed from was odbc and custom C++ client app:
> SQL>select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
> lineDelimiter=>'\r\n')) 
> 1: SQLPrepare = [MapR][Drill] (1040) Drill failed to execute the query: 
> select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
> lineDelimiter=>'\r\n'))
> [30027]Query execution error. Details:[ 
> SYSTEM ERROR: SqlValidatorException: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> Here is the stack trace:
> {code}
>SYSTEM ERROR: SqlValidatorException: No match found for function 
> signature table_function/cr_lf.csv(type => , lineDelimiter => )
>   (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception 
> during fragment initialization: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> org.apache.drill.exec.work.foreman.Foreman.run():281
> java.util.concurrent.ThreadPoolExecutor.runWorker():1145
> java.util.concurrent.ThreadPoolExecutor$Worker.run():615
> java.lang.Thread.run():745
>   Caused By (org.apache.drill.exec.exception.FunctionNotFoundException) No 
> match found for function signature table_function/cr_lf.csv(type => , 
> lineDelimiter => )
> org.apache.drill.exec.planner.sql.SqlConverter.validate():170
> 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():606
> 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():192
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():164
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan():122
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():96
> org.apache.drill.exec.work.foreman.Foreman.runSQL():1017
> org.apache.drill.exec.work.foreman.Foreman.run():264
> java.util.concurrent.ThreadPoolExecutor.runWorker():1145
> java.util.concurrent.ThreadPoolExecutor$Worker.run():615
> java.lang.Thread.run():745
>   Caused By (org.apache.calcite.runtime.CalciteContextException) From line 1, 
> column 45 to line 1, column 107: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> sun.reflect.NativeConstructorAccessorImpl.newInstance0():-2
> sun.reflect.NativeConstructorAccessorImpl.newInstance():57
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance():45
> java.lang.reflect.Constructor.newInstance():526
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex():405
> org.apache.calcite.sql.SqlUtil.newContextException():765
> org.apache.calcite.sql.SqlUtil.newContextException():753
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError():3974
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl.handleUnresolvedFunction():1583
> org.apache.calcite.sql.SqlFunction.deriveType():278
> org.apache.calcite.sql.SqlFunction.deriveType():222
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4337
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4324
> org.apache.calcite.sql.SqlCall.accept():130
> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl():1501
> org.apache.calcite.sql.validate.ProcedureNamespace.validateImpl():53
> org.apache.calcite.sql.validate.AbstractNamespace.validate():86
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2806
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2791
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3014
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
> org.apache.calcite.sql.validate.AbstractNamespace.validate():86
> org.apache.calcite.sql.va

[jira] [Commented] (DRILL-5222) C++ client unable to parse queries with table function

2017-01-25 Thread Krystal (JIRA)

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

Krystal commented on DRILL-5222:


The query runs fine from sqlline and the UI.

> C++ client unable to parse queries with table function
> --
>
> Key: DRILL-5222
> URL: https://issues.apache.org/jira/browse/DRILL-5222
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - C++
>Affects Versions: 1.10.0
>Reporter: Krystal
>
> The following query failed from was odbc and custom C++ client app:
> SQL>select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
> lineDelimiter=>'\r\n')) 
> 1: SQLPrepare = [MapR][Drill] (1040) Drill failed to execute the query: 
> select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
> lineDelimiter=>'\r\n'))
> [30027]Query execution error. Details:[ 
> SYSTEM ERROR: SqlValidatorException: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> Here is the stack trace:
> {code}
>SYSTEM ERROR: SqlValidatorException: No match found for function 
> signature table_function/cr_lf.csv(type => , lineDelimiter => )
>   (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception 
> during fragment initialization: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> org.apache.drill.exec.work.foreman.Foreman.run():281
> java.util.concurrent.ThreadPoolExecutor.runWorker():1145
> java.util.concurrent.ThreadPoolExecutor$Worker.run():615
> java.lang.Thread.run():745
>   Caused By (org.apache.drill.exec.exception.FunctionNotFoundException) No 
> match found for function signature table_function/cr_lf.csv(type => , 
> lineDelimiter => )
> org.apache.drill.exec.planner.sql.SqlConverter.validate():170
> 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():606
> 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():192
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():164
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan():122
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():96
> org.apache.drill.exec.work.foreman.Foreman.runSQL():1017
> org.apache.drill.exec.work.foreman.Foreman.run():264
> java.util.concurrent.ThreadPoolExecutor.runWorker():1145
> java.util.concurrent.ThreadPoolExecutor$Worker.run():615
> java.lang.Thread.run():745
>   Caused By (org.apache.calcite.runtime.CalciteContextException) From line 1, 
> column 45 to line 1, column 107: No match found for function signature 
> table_function/cr_lf.csv(type => , lineDelimiter => )
> sun.reflect.NativeConstructorAccessorImpl.newInstance0():-2
> sun.reflect.NativeConstructorAccessorImpl.newInstance():57
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance():45
> java.lang.reflect.Constructor.newInstance():526
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex():405
> org.apache.calcite.sql.SqlUtil.newContextException():765
> org.apache.calcite.sql.SqlUtil.newContextException():753
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError():3974
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl.handleUnresolvedFunction():1583
> org.apache.calcite.sql.SqlFunction.deriveType():278
> org.apache.calcite.sql.SqlFunction.deriveType():222
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4337
> 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4324
> org.apache.calcite.sql.SqlCall.accept():130
> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl():1501
> org.apache.calcite.sql.validate.ProcedureNamespace.validateImpl():53
> org.apache.calcite.sql.validate.AbstractNamespace.validate():86
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2806
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2791
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3014
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
> org.apache.calcite.sql.validate.AbstractNamespace.validate():86
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2806
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2791
> org.apache.calcite.sql.validate.Sq

[jira] [Created] (DRILL-5222) C++ client unable to parse queries with table function

2017-01-25 Thread Krystal (JIRA)
Krystal created DRILL-5222:
--

 Summary: C++ client unable to parse queries with table function
 Key: DRILL-5222
 URL: https://issues.apache.org/jira/browse/DRILL-5222
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - C++
Affects Versions: 1.10.0
Reporter: Krystal


The following query failed from was odbc and custom C++ client app:

SQL>select columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
lineDelimiter=>'\r\n')) 
1: SQLPrepare = [MapR][Drill] (1040) Drill failed to execute the query: select 
columns[0] from table(`table_function/cr_lf.csv`(type=>'text', 
lineDelimiter=>'\r\n'))
[30027]Query execution error. Details:[ 
SYSTEM ERROR: SqlValidatorException: No match found for function signature 
table_function/cr_lf.csv(type => , lineDelimiter => )

Here is the stack trace:
{code}
   SYSTEM ERROR: SqlValidatorException: No match found for function 
signature table_function/cr_lf.csv(type => , lineDelimiter => )

  (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception 
during fragment initialization: No match found for function signature 
table_function/cr_lf.csv(type => , lineDelimiter => )
org.apache.drill.exec.work.foreman.Foreman.run():281
java.util.concurrent.ThreadPoolExecutor.runWorker():1145
java.util.concurrent.ThreadPoolExecutor$Worker.run():615
java.lang.Thread.run():745
  Caused By (org.apache.drill.exec.exception.FunctionNotFoundException) No 
match found for function signature table_function/cr_lf.csv(type => , 
lineDelimiter => )
org.apache.drill.exec.planner.sql.SqlConverter.validate():170

org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():606

org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():192
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():164
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan():122
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():96
org.apache.drill.exec.work.foreman.Foreman.runSQL():1017
org.apache.drill.exec.work.foreman.Foreman.run():264
java.util.concurrent.ThreadPoolExecutor.runWorker():1145
java.util.concurrent.ThreadPoolExecutor$Worker.run():615
java.lang.Thread.run():745
  Caused By (org.apache.calcite.runtime.CalciteContextException) From line 1, 
column 45 to line 1, column 107: No match found for function signature 
table_function/cr_lf.csv(type => , lineDelimiter => )
sun.reflect.NativeConstructorAccessorImpl.newInstance0():-2
sun.reflect.NativeConstructorAccessorImpl.newInstance():57
sun.reflect.DelegatingConstructorAccessorImpl.newInstance():45
java.lang.reflect.Constructor.newInstance():526
org.apache.calcite.runtime.Resources$ExInstWithCause.ex():405
org.apache.calcite.sql.SqlUtil.newContextException():765
org.apache.calcite.sql.SqlUtil.newContextException():753
org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError():3974

org.apache.calcite.sql.validate.SqlValidatorImpl.handleUnresolvedFunction():1583
org.apache.calcite.sql.SqlFunction.deriveType():278
org.apache.calcite.sql.SqlFunction.deriveType():222

org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4337

org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit():4324
org.apache.calcite.sql.SqlCall.accept():130
org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl():1501
org.apache.calcite.sql.validate.ProcedureNamespace.validateImpl():53
org.apache.calcite.sql.validate.AbstractNamespace.validate():86
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2806
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2791
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3014
org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
org.apache.calcite.sql.validate.AbstractNamespace.validate():86
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2806
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2791
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3014
org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
org.apache.calcite.sql.validate.AbstractNamespace.validate():86
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():883
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():869
org.apache.calcite.sql.SqlSelect.validate():210

org.apache.calcite.sql.validate

[jira] [Updated] (DRILL-5208) Finding path to java executable should be deterministic

2017-01-20 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-5208:
---
Assignee: Paul Rogers

> Finding path to java executable should be deterministic
> ---
>
> Key: DRILL-5208
> URL: https://issues.apache.org/jira/browse/DRILL-5208
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Tools, Build & Test
>Affects Versions: 1.10.0
>Reporter: Krystal
>Assignee: Paul Rogers
>Priority: Minor
>
> Command to find JAVA in drill-config.sh is not deterministic.  
> drill-config.sh uses the following command to find JAVA:
> JAVA=`find -L "$JAVA_HOME" -name $JAVA_BIN -type f | head -n 1`
> On one of my node the following command returned 2 entries:
> find -L $JAVA_HOME -name java -type f
> /usr/local/java/jdk1.7.0_67/jre/bin/java
> /usr/local/java/jdk1.7.0_67/bin/java
> On another node, the same command returned entries in different order:
> find -L $JAVA_HOME -name java -type f
> /usr/local/java/jdk1.7.0_67/bin/java
> /usr/local/java/jdk1.7.0_67/jre/bin/java
> The complete command picks the first one returned which may not be the same 
> on each node:
> find -L $JAVA_HOME -name java -type f | head -n 1
> /usr/local/java/jdk1.7.0_67/jre/bin/java
> If JAVA_HOME is found, we should just append the "bin/java" to the path"
> JAVA=$JAVA_HOME/bin/java



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-5208) Finding path to java executable should be deterministic

2017-01-20 Thread Krystal (JIRA)
Krystal created DRILL-5208:
--

 Summary: Finding path to java executable should be deterministic
 Key: DRILL-5208
 URL: https://issues.apache.org/jira/browse/DRILL-5208
 Project: Apache Drill
  Issue Type: Bug
  Components: Tools, Build & Test
Affects Versions: 1.10.0
Reporter: Krystal
Priority: Minor


Command to find JAVA in drill-config.sh is not deterministic.  drill-config.sh 
uses the following command to find JAVA:
JAVA=`find -L "$JAVA_HOME" -name $JAVA_BIN -type f | head -n 1`

On one of my node the following command returned 2 entries:
find -L $JAVA_HOME -name java -type f
/usr/local/java/jdk1.7.0_67/jre/bin/java
/usr/local/java/jdk1.7.0_67/bin/java

On another node, the same command returned entries in different order:
find -L $JAVA_HOME -name java -type f
/usr/local/java/jdk1.7.0_67/bin/java
/usr/local/java/jdk1.7.0_67/jre/bin/java

The complete command picks the first one returned which may not be the same on 
each node:
find -L $JAVA_HOME -name java -type f | head -n 1
/usr/local/java/jdk1.7.0_67/jre/bin/java

If JAVA_HOME is found, we should just append the "bin/java" to the path"
JAVA=$JAVA_HOME/bin/java



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-5176) Rest API for stats.json gives HTTP 404 Not Found error

2017-01-05 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-5176.
--

Verified that rest api for cluster.json returned expected data.

> Rest API for stats.json gives HTTP 404 Not Found error 
> ---
>
> Key: DRILL-5176
> URL: https://issues.apache.org/jira/browse/DRILL-5176
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - HTTP
>Affects Versions: 1.10.0
>Reporter: Krystal
>
> commit id: bbcf4b765e6946a8b6c7110372c4e1cadbfefa44
> rest api for stats.json now returns "HTTP 404 Not Found" error.
> curl -X GET -i http://:8047/stats.json
> HTTP/1.1 500 Internal Server Error
> Content-Type: application/json
> Content-Length: 43
> Server: Jetty(9.1.5.v20140505)
> {
>   "errorMessage" : "HTTP 404 Not Found"
> }
> The following data is returned for the same rest api in previous drill 
> version:
> curl -X GET -i http://:8047/stats.json
> HTTP/1.1 200 OK
> Content-Type: application/json
> Content-Length: 398
> Server: Jetty(9.1.5.v20140505)
> [ {
>   "name" : "Number of Drill Bits",
>   "value" : 1
> }, {
>   "name" : "Bit #0",
>   "value" : "abc.qa.lab initialized"
> }, {
>   "name" : "Data Port Address",
>   "value" : "abc.qa.lab:31012"
> }, {
>   "name" : "User Port Address",
>   "value" : "abc.qa.lab:31010"
> }, {
>   "name" : "Control Port Address",
>   "value" : "abc.qa.lab:31011"
> }, {
>   "name" : "Maximum Direct Memory",
>   "value" : 8589934592
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (DRILL-5176) Rest API for stats.json gives HTTP 404 Not Found error

2017-01-05 Thread Krystal (JIRA)

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

Krystal edited comment on DRILL-5176 at 1/5/17 5:19 PM:


Thanks Arina for the clarification.  Marking jira as resolved.

Verified that rest api for cluster.json returned expected data.


was (Author: knguyen):
Thanks Arina for the clarification.  Marking jira as resolved.

> Rest API for stats.json gives HTTP 404 Not Found error 
> ---
>
> Key: DRILL-5176
> URL: https://issues.apache.org/jira/browse/DRILL-5176
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - HTTP
>Affects Versions: 1.10.0
>Reporter: Krystal
>
> commit id: bbcf4b765e6946a8b6c7110372c4e1cadbfefa44
> rest api for stats.json now returns "HTTP 404 Not Found" error.
> curl -X GET -i http://:8047/stats.json
> HTTP/1.1 500 Internal Server Error
> Content-Type: application/json
> Content-Length: 43
> Server: Jetty(9.1.5.v20140505)
> {
>   "errorMessage" : "HTTP 404 Not Found"
> }
> The following data is returned for the same rest api in previous drill 
> version:
> curl -X GET -i http://:8047/stats.json
> HTTP/1.1 200 OK
> Content-Type: application/json
> Content-Length: 398
> Server: Jetty(9.1.5.v20140505)
> [ {
>   "name" : "Number of Drill Bits",
>   "value" : 1
> }, {
>   "name" : "Bit #0",
>   "value" : "abc.qa.lab initialized"
> }, {
>   "name" : "Data Port Address",
>   "value" : "abc.qa.lab:31012"
> }, {
>   "name" : "User Port Address",
>   "value" : "abc.qa.lab:31010"
> }, {
>   "name" : "Control Port Address",
>   "value" : "abc.qa.lab:31011"
> }, {
>   "name" : "Maximum Direct Memory",
>   "value" : 8589934592
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (DRILL-5176) Rest API for stats.json gives HTTP 404 Not Found error

2017-01-05 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-5176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal resolved DRILL-5176.

Resolution: Not A Problem

Thanks Arina for the clarification.  Marking jira as resolved.

> Rest API for stats.json gives HTTP 404 Not Found error 
> ---
>
> Key: DRILL-5176
> URL: https://issues.apache.org/jira/browse/DRILL-5176
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - HTTP
>Affects Versions: 1.10.0
>Reporter: Krystal
>
> commit id: bbcf4b765e6946a8b6c7110372c4e1cadbfefa44
> rest api for stats.json now returns "HTTP 404 Not Found" error.
> curl -X GET -i http://:8047/stats.json
> HTTP/1.1 500 Internal Server Error
> Content-Type: application/json
> Content-Length: 43
> Server: Jetty(9.1.5.v20140505)
> {
>   "errorMessage" : "HTTP 404 Not Found"
> }
> The following data is returned for the same rest api in previous drill 
> version:
> curl -X GET -i http://:8047/stats.json
> HTTP/1.1 200 OK
> Content-Type: application/json
> Content-Length: 398
> Server: Jetty(9.1.5.v20140505)
> [ {
>   "name" : "Number of Drill Bits",
>   "value" : 1
> }, {
>   "name" : "Bit #0",
>   "value" : "abc.qa.lab initialized"
> }, {
>   "name" : "Data Port Address",
>   "value" : "abc.qa.lab:31012"
> }, {
>   "name" : "User Port Address",
>   "value" : "abc.qa.lab:31010"
> }, {
>   "name" : "Control Port Address",
>   "value" : "abc.qa.lab:31011"
> }, {
>   "name" : "Maximum Direct Memory",
>   "value" : 8589934592
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-5176) Rest API for stats.json gives HTTP 404 Not Found error

2017-01-04 Thread Krystal (JIRA)
Krystal created DRILL-5176:
--

 Summary: Rest API for stats.json gives HTTP 404 Not Found error 
 Key: DRILL-5176
 URL: https://issues.apache.org/jira/browse/DRILL-5176
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - HTTP
Affects Versions: 1.10.0
Reporter: Krystal


commit id: bbcf4b765e6946a8b6c7110372c4e1cadbfefa44

rest api for stats.json now returns "HTTP 404 Not Found" error.

curl -X GET -i http://:8047/stats.json
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 43
Server: Jetty(9.1.5.v20140505)

{
  "errorMessage" : "HTTP 404 Not Found"
}

The following data is returned for the same rest api in previous drill version:
curl -X GET -i http://:8047/stats.json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 398
Server: Jetty(9.1.5.v20140505)

[ {
  "name" : "Number of Drill Bits",
  "value" : 1
}, {
  "name" : "Bit #0",
  "value" : "abc.qa.lab initialized"
}, {
  "name" : "Data Port Address",
  "value" : "abc.qa.lab:31012"
}, {
  "name" : "User Port Address",
  "value" : "abc.qa.lab:31010"
}, {
  "name" : "Control Port Address",
  "value" : "abc.qa.lab:31011"
}, {
  "name" : "Maximum Direct Memory",
  "value" : 8589934592
}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4604) Generate warning on Web UI if drillbits version mismatch is detected

2016-12-14 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4604.
--

git.commit.id=cf2b7c70ea47e604364ccb5e8076bbd7eae310c3

Verified that the WebUI displays expected warnings and versions of each 
drill-bits based on the current drillbit.

> Generate warning on Web UI if drillbits version mismatch is detected
> 
>
> Key: DRILL-4604
> URL: https://issues.apache.org/jira/browse/DRILL-4604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.6.0
>Reporter: Arina Ielchiieva
>Assignee: Arina Ielchiieva
>  Labels: doc-impacting, ready-to-commit
> Fix For: 1.10.0
>
> Attachments: NEW_matching_drillbits.JPG, 
> NEW_mismatching_drillbits.JPG, index_page.JPG, index_page_mismatch.JPG, 
> screenshots_with_different_states.docx
>
>
> Display drillbit version on web UI. If any of drillbits version doesn't match 
> with current drillbit, generate warning.
> Screenshots - NEW_matching_drillbits.JPG, NEW_mismatching_drillbits.JPG



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-5042) Settings in drill-env.sh are not overriding the same settings in distrib-env.sh

2016-11-14 Thread Krystal (JIRA)
Krystal created DRILL-5042:
--

 Summary: Settings in drill-env.sh are not overriding the same 
settings in distrib-env.sh
 Key: DRILL-5042
 URL: https://issues.apache.org/jira/browse/DRILL-5042
 Project: Apache Drill
  Issue Type: Bug
  Components: Tools, Build & Test
Affects Versions: 1.9.0
Reporter: Krystal
Assignee: Paul Rogers


commit id: d925f738d006caedf8635db1024825e355b5dada

currently, settings from drill-env.sh are not overriding those from 
distrib-env.sh.  Instead, the ones from distrib-env.sh are overriding the same 
setting from drill-env.sh.

The correct behavior is that the settings from drill-env.sh should override the 
same settings in distrib-env.sh.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4986) Allow users to customize the Drill log file name

2016-11-14 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4986.
--

Verified that drill log file name can be customized.
In drill-env.sh, the folloiwng is set:
export DRILL_LOG_NAME="drillbit-$HOSTNAME"

After drillbit is restarted,log files containng the drillbit-.out and 
.log are created in the log directory.


> Allow users to customize the Drill log file name
> 
>
> Key: DRILL-4986
> URL: https://issues.apache.org/jira/browse/DRILL-4986
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.8.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.9.0
>
>
> From John Omernik on the user list:
> I am getting my head around the new Drill config files in 1.8, and I have
> been setting DRILL_LOG_PREFIX in previous versions. Based on what I am
> seeing in drill-config.sh though, it looks like I no longer can set this as
> instead of using a "If set use what's set otherwise default to" methodology
> like other variables, drill-config.sh just exports a static value... is
> this correct?
> My goal is to have logs all in a single directory but have prefixes based
> on the host names... "centralized" logging if you will :)
> Suggestion:
> {code}
> export DRILL_LOG_PREFIX="$DRILL_LOG_DIR/drillbit"
> {code}
> So looking at this, I think that DRILL_LOG_PREFIX is a misnomer, it should
> be DRILL_LOG_PATH = Path to a directory, DRILL_LOG_PREFIX = A prefix to
> prepend to drill log files, thus, in reality, DRILL_LOG_PREFIX should not
> be set to $DRILL_LOG_DIR/drillbit, instead the default should be "
> {code}
> export DRILL_LOG_PREFIX=${DRILL_LOG_PREFIX:-"drillbit"}
> {code}
> and then the next line that makes the drill log path should be:
> {code}
> export DRILLBIT_LOG_PATH="${DRILL_LOG_DIR}/${DRILL_LOG_PREFIX}.log"
> {code}
> That way the Prefix is just a file prefix, and then in the drill-env.sh I
> could set
> {code}
> export DRILL_LOG_PREFIX="drillbit-$HOSTNAME"
> {code}
> and have all my logs in one folder, but not be overwritten by easy other



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4921) Scripts drill_config.sh, drillbit.sh, and drill-embedded fail when accessed via a symbolic link

2016-11-14 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4921.
--

Verified on Mac and Linux that drill starts up successfully using symbollic 
links.

> Scripts drill_config.sh,  drillbit.sh, and drill-embedded fail when accessed 
> via a symbolic link
> 
>
> Key: DRILL-4921
> URL: https://issues.apache.org/jira/browse/DRILL-4921
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server
>Affects Versions: 1.8.0
> Environment: The drill-embedded on the Mac; the other files on Linux
>Reporter: Boaz Ben-Zvi
>Assignee: Boaz Ben-Zvi
>Priority: Minor
> Fix For: 1.9.0
>
>
>   Several of the drill... scripts under $DRILL_HOME/bin use "pwd" to produce 
> the local path of that script. However "pwd" defaults to "logical" (i.e. the 
> same as "pwd -L"); so if accessed via a symbolic link, that link is used 
> verbatim in the path, which can produce wrong paths (e.g., when followed by 
> "cd ..").
> For example, creating a symbolic link and using it (on the Mac):
> $  cd ~/drill
> $  ln -s $DRILL_HOME/bin 
> $  bin/drill-embedded
> ERROR: Drill config file missing: 
> /Users/boazben-zvi/drill/conf/drill-override.conf -- Wrong config dir?
> Similarly on Linux the CLASS_PATH gets set wrong (when running "drillbit.sh 
> start" via a symlink).
> Solution: need to replace all the "pwd" in all the scripts with "pwd -P" 
> which produces the Physical path. (Or replace a preceding "cd" with "cd -P" 
> which does the same).
> Relevant scripts:
> =
> $ cd bin; grep pwd *
> drillbit.sh:bin=`cd "$bin">/dev/null; pwd`
> drillbit.sh:  echo "cwd:" `pwd`
> drill-conf:bin=`cd "$bin">/dev/null; pwd`
> drill-config.sh:home=`cd "$bin/..">/dev/null; pwd`
> drill-config.sh:  DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
> drill-config.sh:JAVA_HOME="$( cd -P "$( dirname "$SOURCE" )" && cd .. && 
> pwd )"
> drill-embedded:bin=`cd "$bin">/dev/null; pwd`
> drill-localhost:bin=`cd "$bin">/dev/null; pwd`
> submit_plan:bin=`cd "$bin">/dev/null; pwd`
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4792) Include session options used for a query as part of the profile

2016-11-11 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4792.
--

Verified that feature is working as expected.  There is a minor issue with the 
formatting of the jsonOptions in the query's Json Profile. Open DRILL-5036 for 
this issue.

> Include session options used for a query as part of the profile
> ---
>
> Key: DRILL-4792
> URL: https://issues.apache.org/jira/browse/DRILL-4792
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.7.0
>Reporter: Arina Ielchiieva
>Assignee: Arina Ielchiieva
>Priority: Minor
>  Labels: doc-impacting
> Fix For: 1.9.0
>
> Attachments: no_session_options.JPG, session_options_block.JPG, 
> session_options_collapsed.JPG, session_options_json.JPG
>
>
> Include session options used for a query as part of the profile.
> This will be very useful for debugging/diagnostics.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-5036) The session options used for a query is not nicely formated in the JSON Profile

2016-11-11 Thread Krystal (JIRA)
Krystal created DRILL-5036:
--

 Summary: The session options used for a query is not nicely 
formated in the JSON Profile
 Key: DRILL-5036
 URL: https://issues.apache.org/jira/browse/DRILL-5036
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - HTTP
Affects Versions: 1.9.0
Reporter: Krystal
Priority: Minor


The optionsJson section in the Json Profile from the WebUI and profile json 
file shows the sessions used for a query displays escape characters and newline 
characters:

"optionsJson": "[ {\n  \"kind\" : \"BOOLEAN\",\n  \"type\" : \"SESSION\",\n  
\"name\" : \"planner.enable_decimal_data_type\",\n  \"bool_val\" : false\n}, 
{\n  \"kind\" : \"BOOLEAN\",\n  \"type\" : \"SESSION\",\n  \"name\" : 
\"store.parquet.reader.int96_as_timestamp\",\n  \"bool_val\" : true\n}, {\n  
\"kind\" : \"LONG\",\n  \"type\" : \"SESSION\",\n  \"name\" : 
\"web.logs.max_lines\",\n  \"num_val\" : 5000\n} ]"



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Reopened] (DRILL-4373) Drill and Hive have incompatible timestamp representations in parquet

2016-11-10 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal reopened DRILL-4373:


Re-open jira as this breaks existing behavior as described in 
https://issues.apache.org/jira/browse/DRILL-5034.

> Drill and Hive have incompatible timestamp representations in parquet
> -
>
> Key: DRILL-4373
> URL: https://issues.apache.org/jira/browse/DRILL-4373
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Hive, Storage - Parquet
>Affects Versions: 1.8.0
>Reporter: Rahul Challapalli
>Assignee: Vitalii Diravka
>  Labels: doc-impacting
> Fix For: 1.9.0
>
>
> git.commit.id.abbrev=83d460c
> I created a parquet file with a timestamp type using Drill. Now if I define a 
> hive table on top of the parquet file and use "timestamp" as the column type, 
> drill fails to read the hive table through the hive storage plugin
> Implementation: 
> Added int96 to timestamp converter for both parquet readers and controling it 
> by system / session option "store.parquet.int96_as_timestamp".
> The value of the option is false by default for the proper work of the old 
> query scripts with the "convert_from TIMESTAMP_IMPALA" function.
> When the option is true using of that function is unnesessary and can lead to 
> the query fail.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)



[jira] [Created] (DRILL-5034) Select timestamp from hive generated parquet always return in UTC

2016-11-10 Thread Krystal (JIRA)
Krystal created DRILL-5034:
--

 Summary: Select timestamp from hive generated parquet always 
return in UTC
 Key: DRILL-5034
 URL: https://issues.apache.org/jira/browse/DRILL-5034
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Parquet
Affects Versions: 1.9.0
Reporter: Krystal


commit id: 5cea9afa6278e21574c6a982ae5c3d82085ef904

Reading timestamp data against a hive parquet table from drill automatically 
converts the timestamp data to UTC. 

SELECT TIMEOFDAY() FROM (VALUES(1));
+--+
|EXPR$0|
+--+
| 2016-11-10 12:33:26.547 America/Los_Angeles  |
+--+

data schema:
message hive_schema {
  optional int32 voter_id;
  optional binary name (UTF8);
  optional int32 age;
  optional binary registration (UTF8);
  optional fixed_len_byte_array(3) contributions (DECIMAL(6,2));
  optional int32 voterzone;
  optional int96 create_timestamp;
  optional int32 create_date (DATE);
}

Using drill-1.8, the returned timestamps match the table data:

select convert_from(create_timestamp, 'TIMESTAMP_IMPALA') from 
`/user/hive/warehouse/voter_hive_parquet` limit 5;
++
| EXPR$0 |
++
| 2016-10-23 20:03:58.0  |
| null   |
| 2016-09-09 12:01:18.0  |
| 2017-03-06 20:35:55.0  |
| 2017-01-20 22:32:43.0  |
++
5 rows selected (1.032 seconds)

If the user timzone is changed to UTC, then the timestamp data is returned in 
UTC time.

Using drill-1.9, the returned timestamps got converted to UTC eventhough the 
user timezone is in PST.

select convert_from(create_timestamp, 'TIMESTAMP_IMPALA') from 
dfs.`/user/hive/warehouse/voter_hive_parquet` limit 5;
++
| EXPR$0 |
++
| 2016-10-24 03:03:58.0  |
| null   |
| 2016-09-09 19:01:18.0  |
| 2017-03-07 04:35:55.0  |
| 2017-01-21 06:32:43.0  |
++

alter session set `store.parquet.reader.int96_as_timestamp`=true;
+---+---+
|  ok   |  summary  |
+---+---+
| true  | store.parquet.reader.int96_as_timestamp updated.  |
+---+---+

select create_timestamp from dfs.`/user/hive/warehouse/voter_hive_parquet` 
limit 5;
++
|create_timestamp|
++
| 2016-10-24 03:03:58.0  |
| null   |
| 2016-09-09 19:01:18.0  |
| 2017-03-07 04:35:55.0  |
| 2017-01-21 06:32:43.0  |
++


 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4870) drill-config.sh sets JAVA_HOME incorrectly for the Mac

2016-11-09 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4870.
--

Verified on Mac the without setting JAVA_HOME, drill does set it and sqlline in 
embedded mode starts successfully.

> drill-config.sh sets JAVA_HOME incorrectly for the Mac
> --
>
> Key: DRILL-4870
> URL: https://issues.apache.org/jira/browse/DRILL-4870
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.8.0
> Environment: MacOS with unset JAVA_HOME
>Reporter: Paul Rogers
>Assignee: Chunhui Shi
>Priority: Minor
> Fix For: 1.9.0
>
>
> It turns out that drill-config.sh is both improperly and unnecessarily 
> setting the JAVA_HOME envrironment variable. That setting should be removed.
> In the Drill 1.7 version, drill-config.sh checks if the JAVA_HOME environment 
> variable is set. If not, it sets JAVA_HOME based on its guess as to the 
> proper value.
> In the 1.7 version, the veriable was set, but not exported, so the variable 
> was never actually used.
> The recent script fixes for 1.8 "fixed" the export problem. The fix works 
> fine on Linux. But, the Java install on the Mac has a different structure 
> than that on Linux. The value that drill-config.sh guesses is fine for Linux, 
> wrong for the Mac.
> When we export the (wrong) JAVA_HOME, Mac users who have not set JAVA_HOME 
> will get the following error when using a Drill script:
> ./drill-embedded 
> Unable to locate an executable at 
> "/System/Library/Frameworks/JavaVM.framework/Versions/A/bin/java"
> Mac users who do set JAVA_HOME will not encounter the problem (because 
> drill-config.sh does not change an existing value.)
> It seems likely that someone in the past ecountered the same problem and 
> removed the export of DRILL_HOME as an attempt to fix the problem.
> As it turns out, Java does know how to set JAVA_HOME properly if not set. So, 
> setting JAVA_HOME is unnecessary.
> The proper fix is to remove JAVA_HOME setting from drill-config.sh.
> The workaround for any 1.8 user who encounters the problem is to edit their 
> $DRILL_HOME/bin/drill-config.sh file and delete this line near the end of the 
> file:
> export JAVA_HOME



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4964) Drill fails to connect to hive metastore after hive metastore is restarted unless drillbits are restarted also

2016-11-08 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4964.
--

commit id: 190d5d46d8ec21efa31ee6dcb3d0d031efde4280

Verified that after restarting hive metastore, hive tables and databases are 
still accessible from sqlline without restarting drill.  Also, show databases 
and show table returned expected result.

> Drill fails to connect to hive metastore after hive metastore is restarted 
> unless drillbits are restarted also
> --
>
> Key: DRILL-4964
> URL: https://issues.apache.org/jira/browse/DRILL-4964
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.8.0
>Reporter: Sorabh Hamirwasia
>Assignee: Sorabh Hamirwasia
> Fix For: 1.9.0
>
>
> It is found that if Hive Metastore is restarted then Drillbit also needs to 
> be restarted to further query and connect to hive metastore. 
> Repro Steps:
> ===
> 1) Start HiveMetastore and drillbit.
> 2) Start Drillbit client with Scheman as hive and run a simple query like 
> "show databases"
>Command to start client: sqlline -u 
> "jdbc:drill:schema=hive;drillbit="
> 3) restart hive metastore
> 4) Execute same query "show databases" on existing drillclient or new one. 
> You will see that hive default database is not listed. If you query any hive 
> data then it will fail.
> Log snippet from drillbit.log:
> ==
> 2016-10-25 18:32:00,561 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] INFO  
> o.a.drill.exec.work.foreman.Foreman - Query text for query id 
> 27eff86e-e8fb-3d91-eb88-4af75ff6d174: show databases
> 2016-10-25 18:32:00,563 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] DEBUG 
> o.a.d.e.s.h.HBaseStoragePluginConfig - Initializing HBase StoragePlugin 
> configuration with zookeeper quorum 'localhost', port '2181'.
> 2016-10-25 18:32:00,595 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] WARN  
> o.a.d.e.s.h.schema.HiveSchemaFactory - Failure while attempting to access 
> HiveDatabase 'default'.
> java.util.concurrent.ExecutionException: MetaException(message:Got exception: 
> org.apache.thrift.transport.TTransportException null)
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:137)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2348)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2320) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3937) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
>  ~[guava-18.0.jar:na]
> at 
> org.apache.drill.exec.store.hive.DrillHiveMetaStoreClient$HiveClientWithCaching.getDatabases(DrillHiveMetaStoreClient.java:415)
>  ~[drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.getSubSchema(HiveSchemaFactory.java:139)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.(HiveSchemaFactory.java:133)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory.registerSchemas(HiveSchemaFactory.java:118)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.HiveStoragePlugin.registerSchemas(HiveStoragePlugin.java:100)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.StoragePluginRegistryImpl$DrillSchemaFactory.registerSchemas(StoragePluginRegistryImpl.java:365)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:72)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store

[jira] [Closed] (DRILL-4911) SimpleParallelizer should avoid plan serialization for logging purpose when debug logging is not enabled.

2016-11-08 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4911.
--

Per Jinfeng's previous comment, closing bug as fixed.

> SimpleParallelizer should avoid plan serialization for logging purpose when 
> debug logging is not enabled.
> -
>
> Key: DRILL-4911
> URL: https://issues.apache.org/jira/browse/DRILL-4911
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Query Planning & Optimization
>Reporter: Jinfeng Ni
>Assignee: Jinfeng Ni
>Priority: Minor
> Fix For: 1.9.0
>
>
> SimpleParallelizer and subclass have code to put serialized plan in debug 
> log. However, in case when the physical plan fragment is very large (table is 
> huge with large # of partitions, files, etc), the overhead of serialization 
> is not negligible. The code seems to always do serialization, regardless 
> whether the debug flag is turned on. 
> To reduce the overhead, SimpleParallelizer and subclass should only do plan 
> serialization for logging purpose when debug logging is turned on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4972) Drillbit shuts down immediately after starting if embedded web server is disabled

2016-11-04 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4972.
--

commit id: 190d5d46d8ec21efa31ee6dcb3d0d031efde4280

Duplicated failure on drill-1.8. With drill-1.9, using the same re-production, 
drillbit started up successfully.

> Drillbit shuts down immediately after starting if embedded web server is 
> disabled
> -
>
> Key: DRILL-4972
> URL: https://issues.apache.org/jira/browse/DRILL-4972
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server
>Affects Versions: 1.8.0
>Reporter: Sudheesh Katkam
>Assignee: Sudheesh Katkam
>Priority: Critical
> Fix For: 1.9.0
>
>
> Disable embedded web server by setting "drill.exec.http.enabled" to false. 
> Now when drillbit is started, it shuts down immediately after starting.
> JVM exits when the only threads running are all daemon threads. Turns out all 
> threads in a drillbit, other than the thread pool started by the web server, 
> are daemon. So I suggest WorkManager#StatusThread be made non-daemon.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-3178) csv reader should allow newlines inside quotes

2016-11-03 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-3178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-3178.
--

Verified and added test cases to automation suite.

> csv reader should allow newlines inside quotes 
> ---
>
> Key: DRILL-3178
> URL: https://issues.apache.org/jira/browse/DRILL-3178
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Text & CSV
>Affects Versions: 1.0.0
> Environment: Ubuntu Trusty 14.04.2 LTS
>Reporter: Neal McBurnett
>Assignee: F Méthot
> Fix For: 1.9.0
>
> Attachments: drill-3178.patch
>
>
> When reading a csv file which contains newlines within quoted strings, e.g. 
> via
> select * from dfs.`/tmp/q.csv`;
> Drill 1.0 says:
> Error: SYSTEM ERROR: com.univocity.parsers.common.TextParsingException:  
> Error processing input: Cannot use newline character within quoted string
> But many tools produce csv files with newlines in quoted strings.  Drill 
> should be able to handle them.
> Workaround: the csvquote program (https://github.com/dbro/csvquote) can 
> encode embedded commas and newlines, and even decode them later if desired.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4499) Remove unused classes

2016-11-02 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4499.
--

Recent nightly functional runs that include this fix ran successfully.

> Remove unused classes
> -
>
> Key: DRILL-4499
> URL: https://issues.apache.org/jira/browse/DRILL-4499
> Project: Apache Drill
>  Issue Type: Task
>Reporter: Sudheesh Katkam
>Assignee: Sudheesh Katkam
> Fix For: 1.8.0
>
>
> List of unused classes that I've tracked over time:
> exec/interpreter/src/test/java/org/apache/drill/exec/expr/TestPrune.java
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/MethodMap.java
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionBody.java
> exec/java-exec/src/main/java/org/apache/drill/exec/ops/Multitimer.java
> exec/java-exec/src/main/java/org/apache/drill/exec/ops/QuerySetup.java
> exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/AvailabilityListener.java
> exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/ControlCommand.java
> exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/SendProgress.java
> exec/java-exec/src/main/java/org/apache/drill/exec/rpc/data/SendProgress.java
> exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/DrillUser.java
> exec/java-exec/src/main/java/org/apache/drill/exec/store/RecordRecorder.java
> exec/java-exec/src/main/java/org/apache/drill/exec/store/schedule/PartialWork.java
> exec/java-exec/src/main/java/org/apache/drill/exec/util/AtomicState.java
> exec/java-exec/src/main/java/org/apache/drill/exec/work/RecordOutputStream.java
> exec/java-exec/src/main/java/org/apache/drill/exec/work/ResourceRequest.java
> exec/java-exec/src/main/java/org/apache/drill/exec/work/RootNodeDriver.java



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-3178) csv reader should allow newlines inside quotes

2016-11-01 Thread Krystal (JIRA)

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

Krystal commented on DRILL-3178:


commit id: 83513daf0903e0d94fcaad7b1ae4e8ad6272b494

Using data from comment #2, verified that data gets returned as expected.

select * from `drill-3178/drill3178.csv`;
+--+
| columns  |
+--+
| ["1","line1"]|
| ["2","line2\n"]  |
| ["3","line3"]|
+--+
3 rows selected (0.158 seconds)

 select columns[0], columns[1] from `drill-3178/drill3178.csv`;
+-+-+
| EXPR$0  | EXPR$1  |
+-+-+
| 1   | line1   |
| 2   | line2
  |
| 3   | line3   |
+-+-+

select columns[0],columns[1] from `drill-3178/drill3178.csv` where columns[0] > 
1 order by columns[1] desc;
+-+-+
| EXPR$0  | EXPR$1  |
+-+-+
| 3   | line3   |
| 2   | line2
  |
+-+-+
2 rows selected (0.373 seconds)


> csv reader should allow newlines inside quotes 
> ---
>
> Key: DRILL-3178
> URL: https://issues.apache.org/jira/browse/DRILL-3178
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Text & CSV
>Affects Versions: 1.0.0
> Environment: Ubuntu Trusty 14.04.2 LTS
>Reporter: Neal McBurnett
>Assignee: F Méthot
> Fix For: 1.9.0
>
> Attachments: drill-3178.patch
>
>
> When reading a csv file which contains newlines within quoted strings, e.g. 
> via
> select * from dfs.`/tmp/q.csv`;
> Drill 1.0 says:
> Error: SYSTEM ERROR: com.univocity.parsers.common.TextParsingException:  
> Error processing input: Cannot use newline character within quoted string
> But many tools produce csv files with newlines in quoted strings.  Drill 
> should be able to handle them.
> Workaround: the csvquote program (https://github.com/dbro/csvquote) can 
> encode embedded commas and newlines, and even decode them later if desired.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-4949) Need better handling of empty parquet files

2016-10-17 Thread Krystal (JIRA)
Krystal created DRILL-4949:
--

 Summary: Need better handling of empty parquet files
 Key: DRILL-4949
 URL: https://issues.apache.org/jira/browse/DRILL-4949
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Parquet
Affects Versions: 1.9.0
Reporter: Krystal


I have an empty parquet file created from hive.  When I tried to query against 
this table I got "IllegalArgumentException".

{code}
select * from `test_dir/voter_empty`;
Error: SYSTEM ERROR: IllegalArgumentException: MinorFragmentId 0 has no read 
entries assigned

  (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception 
during fragment initialization: MinorFragmentId 0 has no read entries assigned
org.apache.drill.exec.work.foreman.Foreman.run():281
java.util.concurrent.ThreadPoolExecutor.runWorker():1145
java.util.concurrent.ThreadPoolExecutor$Worker.run():615
java.lang.Thread.run():745
  Caused By (java.lang.IllegalArgumentException) MinorFragmentId 0 has no read 
entries assigned
com.google.common.base.Preconditions.checkArgument():122
org.apache.drill.exec.store.parquet.ParquetGroupScan.getSpecificScan():824
org.apache.drill.exec.store.parquet.ParquetGroupScan.getSpecificScan():101
org.apache.drill.exec.planner.fragment.Materializer.visitGroupScan():68
org.apache.drill.exec.planner.fragment.Materializer.visitGroupScan():35
org.apache.drill.exec.physical.base.AbstractGroupScan.accept():63
org.apache.drill.exec.planner.fragment.Materializer.visitOp():102
org.apache.drill.exec.planner.fragment.Materializer.visitOp():35

org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitProject():79
org.apache.drill.exec.physical.config.Project.accept():51
org.apache.drill.exec.planner.fragment.Materializer.visitStore():82
org.apache.drill.exec.planner.fragment.Materializer.visitStore():35

org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitScreen():202
org.apache.drill.exec.physical.config.Screen.accept():98

org.apache.drill.exec.planner.fragment.SimpleParallelizer.generateWorkUnit():283
org.apache.drill.exec.planner.fragment.SimpleParallelizer.getFragments():127
org.apache.drill.exec.work.foreman.Foreman.getQueryWorkUnit():596
org.apache.drill.exec.work.foreman.Foreman.runPhysicalPlan():426
org.apache.drill.exec.work.foreman.Foreman.runSQL():1010
org.apache.drill.exec.work.foreman.Foreman.run():264
java.util.concurrent.ThreadPoolExecutor.runWorker():1145
java.util.concurrent.ThreadPoolExecutor$Worker.run():615
java.lang.Thread.run():745 (state=,code=0)
{code}

Either drill should block the query and display a user friendly error message 
or allow the query to run and return empty result.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4879) Hive default storage plugin template shows "null" for fresh install

2016-09-06 Thread Krystal (JIRA)

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

Krystal commented on DRILL-4879:


Looks like commitId 8bbf6589ad746b8949c962875f0ea2de59a13f79 (DRILL-4819: 
Update MapR version to 5.2.0) is the cause of the bug.

> Hive default storage plugin template shows "null" for fresh install
> ---
>
> Key: DRILL-4879
> URL: https://issues.apache.org/jira/browse/DRILL-4879
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Storage - Hive
>Affects Versions: 1.8.0, 1.9.0
>Reporter: Krystal
>Assignee: Sudheesh Katkam
>
> Deleted the /drill folder from zookeeper; then install drill-1.8.
> [root@mfs41 drill-1.8.0]# cat git.properties
> #Generated by Git-Commit-Id-Plugin
> #Thu Sep 01 20:58:58 UTC 2016
> git.commit.id.abbrev=3b5bedd
> git.commit.user.email=prog...@maprtech.com
> git.commit.message.full=One additional fix fo the DoY unit tests.\n
> git.commit.id=3b5beddce3c1850eaba57aea2d8e7b7d22e641d6
> git.commit.message.short=One additional fix fo the DoY unit tests.
> git.commit.user.name=Paul Rogers
> From the UI, open up the Hive storage plugin.  The content of the plugin 
> showed as "null" instead of the default template.  Below is the snippit of 
> the error in drillbit.log that gets generated when I clicked on the "Hive" 
> storage plugin:
> {code}
> 2016-09-06 15:08:19,581 [qtp1078495730-50] INFO  
> o.a.d.e.server.rest.StorageResources - Failure while trying to access storage 
> config: hive
> org.apache.drill.common.exceptions.ExecutionSetupException: Failure setting 
> up new storage plugin configuration for config 
> org.apache.drill.exec.store.hive.HiveStoragePluginConfig@4adf869f
>   at 
> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:325)
>  ~[drill-java-exec-1.8.0.jar:1.8.0]
>   at 
> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(StoragePluginRegistryImpl.java:213)
>  ~[drill-java-exec-1.8.0.jar:1.8.0]
>   at 
> org.apache.drill.exec.store.StoragePluginRegistryImpl.getPlugin(StoragePluginRegistryImpl.java:263)
>  ~[drill-java-exec-1.8.0.jar:1.8.0]
>   at 
> org.apache.drill.exec.server.rest.StorageResources.getStoragePluginJSON(StorageResources.java:101)
>  [drill-java-exec-1.8.0.jar:1.8.0]
>   at 
> org.apache.drill.exec.server.rest.StorageResources.getStoragePlugin(StorageResources.java:115)
>  [drill-java-exec-1.8.0.jar:1.8.0]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[na:1.7.0_45]
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
> ~[na:1.7.0_45]
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[na:1.7.0_45]
>   at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
>   at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103)
>  [jersey-server-2.8.jar:na]
>   at 
> org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) 
> [jersey-server-2.8.jar:na]
>   at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 
> [jersey-common-2.8.jar:na]
>   at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 
> [jersey-common-2.8.jar:na]
>   at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
> [jersey-common-2.8.jar:na]
>   at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
> [jersey-common-2.8.jar:na]
>   at org.glassfish.jersey.internal.Errors.process(Errors.java:267)

[jira] [Created] (DRILL-4879) Hive default storage plugin template shows "null" for fresh install

2016-09-06 Thread Krystal (JIRA)
Krystal created DRILL-4879:
--

 Summary: Hive default storage plugin template shows "null" for 
fresh install
 Key: DRILL-4879
 URL: https://issues.apache.org/jira/browse/DRILL-4879
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Hive
Affects Versions: 1.8.0, 1.9.0
Reporter: Krystal


Deleted the /drill folder from zookeeper; then install drill-1.8.

[root@mfs41 drill-1.8.0]# cat git.properties
#Generated by Git-Commit-Id-Plugin
#Thu Sep 01 20:58:58 UTC 2016
git.commit.id.abbrev=3b5bedd
git.commit.user.email=prog...@maprtech.com
git.commit.message.full=One additional fix fo the DoY unit tests.\n
git.commit.id=3b5beddce3c1850eaba57aea2d8e7b7d22e641d6
git.commit.message.short=One additional fix fo the DoY unit tests.
git.commit.user.name=Paul Rogers

>From the UI, open up the Hive storage plugin.  The content of the plugin 
>showed as "null" instead of the default template.  Below is the snippit of the 
>error in drillbit.log that gets generated when I clicked on the "Hive" storage 
>plugin:
{code}
2016-09-06 15:08:19,581 [qtp1078495730-50] INFO  
o.a.d.e.server.rest.StorageResources - Failure while trying to access storage 
config: hive
org.apache.drill.common.exceptions.ExecutionSetupException: Failure setting up 
new storage plugin configuration for config 
org.apache.drill.exec.store.hive.HiveStoragePluginConfig@4adf869f
at 
org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:325)
 ~[drill-java-exec-1.8.0.jar:1.8.0]
at 
org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(StoragePluginRegistryImpl.java:213)
 ~[drill-java-exec-1.8.0.jar:1.8.0]
at 
org.apache.drill.exec.store.StoragePluginRegistryImpl.getPlugin(StoragePluginRegistryImpl.java:263)
 ~[drill-java-exec-1.8.0.jar:1.8.0]
at 
org.apache.drill.exec.server.rest.StorageResources.getStoragePluginJSON(StorageResources.java:101)
 [drill-java-exec-1.8.0.jar:1.8.0]
at 
org.apache.drill.exec.server.rest.StorageResources.getStoragePlugin(StorageResources.java:115)
 [drill-java-exec-1.8.0.jar:1.8.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.7.0_45]
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
~[na:1.7.0_45]
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) 
[jersey-server-2.8.jar:na]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 
[jersey-common-2.8.jar:na]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 
[jersey-common-2.8.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
[jersey-common-2.8.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
[jersey-common-2.8.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:267) 
[jersey-common-2.8.jar:na]
at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297)
 [jersey-common-2.8.jar:na]
at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:252) 
[jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1023)
 [jersey-server-2.8.jar:na]
at 
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:372) 
[jersey-container-servlet-core-2.8.jar:na]

[jira] [Closed] (DRILL-4175) IOBE may occur in Calcite RexProgramBuilder when queries are submitted concurrently

2016-08-26 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4175.
--

Verified that bug is fixed.

> IOBE may occur in Calcite RexProgramBuilder when queries are submitted 
> concurrently
> ---
>
> Key: DRILL-4175
> URL: https://issues.apache.org/jira/browse/DRILL-4175
> Project: Apache Drill
>  Issue Type: Bug
> Environment: distribution
>Reporter: huntersjm
> Fix For: 1.8.0
>
>
> I queryed a sql just like `selelct v from table limit 1`,I get a error:
> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: 
> IndexOutOfBoundsException: Index: 68, Size: 67
> After debug, I found there is a bug in calcite parse:
> first we look line 72 in org.apache.calcite.rex.RexProgramBuilder
> {noformat}
>registerInternal(RexInputRef.of(i, fields), false);
> {noformat}
> there we get RexInputRef from RexInputRef.of, and it has a method named 
> createName(int idex), here NAMES is SelfPopulatingList.class. 
> SelfPopulatingList.class describe  as Thread-safe list, but in fact it is 
> Thread-unsafe. when NAMES.get(index) is called distributed, it gets a error. 
> We hope SelfPopulatingList.class to be {$0 $1 $2 $n}, but when it called 
> distributed, it may be {$0,$1...$29,$30...$59,$30,$31...$59...}.
> We see method registerInternal
> {noformat}
> private RexLocalRef registerInternal(RexNode expr, boolean force) {
> expr = simplify(expr);
> RexLocalRef ref;
> final Pair key;
> if (expr instanceof RexLocalRef) {
>   key = null;
>   ref = (RexLocalRef) expr;
> } else {
>   key = RexUtil.makeKey(expr);
>   ref = exprMap.get(key);
> }
> if (ref == null) {
>   if (validating) {
> validate(
> expr,
> exprList.size());
>   }
> {noformat}
> Here makeKey(expr) hope to get different key, however it get same key, so 
> addExpr(expr) called less, in this method
> {noformat}
> RexLocalRef ref;
> final int index = exprList.size();
> exprList.add(expr);
> ref =
> new RexLocalRef(
> index,
> expr.getType());
> localRefList.add(ref);
> return ref;
> {noformat}
> localRefList get error size, so in line 939,
> {noformat}
> final RexLocalRef ref = localRefList.get(index);
> {noformat}
> throw IndexOutOfBoundsException
> bugfix:
> We can't change origin code of calcite before they fix this bug, so we can 
> init NAMEs in RexLocalRef on start. Just add 
> {noformat}
> RexInputRef.createName(2048);
> {noformat}
> on Bootstrap.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DRILL-4175) IOBE may occur in Calcite RexProgramBuilder when queries are submitted concurrently

2016-08-25 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-4175:
---
Reviewer: Krystal  (was: Rahul Challapalli)

> IOBE may occur in Calcite RexProgramBuilder when queries are submitted 
> concurrently
> ---
>
> Key: DRILL-4175
> URL: https://issues.apache.org/jira/browse/DRILL-4175
> Project: Apache Drill
>  Issue Type: Bug
> Environment: distribution
>Reporter: huntersjm
> Fix For: 1.8.0
>
>
> I queryed a sql just like `selelct v from table limit 1`,I get a error:
> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: 
> IndexOutOfBoundsException: Index: 68, Size: 67
> After debug, I found there is a bug in calcite parse:
> first we look line 72 in org.apache.calcite.rex.RexProgramBuilder
> {noformat}
>registerInternal(RexInputRef.of(i, fields), false);
> {noformat}
> there we get RexInputRef from RexInputRef.of, and it has a method named 
> createName(int idex), here NAMES is SelfPopulatingList.class. 
> SelfPopulatingList.class describe  as Thread-safe list, but in fact it is 
> Thread-unsafe. when NAMES.get(index) is called distributed, it gets a error. 
> We hope SelfPopulatingList.class to be {$0 $1 $2 $n}, but when it called 
> distributed, it may be {$0,$1...$29,$30...$59,$30,$31...$59...}.
> We see method registerInternal
> {noformat}
> private RexLocalRef registerInternal(RexNode expr, boolean force) {
> expr = simplify(expr);
> RexLocalRef ref;
> final Pair key;
> if (expr instanceof RexLocalRef) {
>   key = null;
>   ref = (RexLocalRef) expr;
> } else {
>   key = RexUtil.makeKey(expr);
>   ref = exprMap.get(key);
> }
> if (ref == null) {
>   if (validating) {
> validate(
> expr,
> exprList.size());
>   }
> {noformat}
> Here makeKey(expr) hope to get different key, however it get same key, so 
> addExpr(expr) called less, in this method
> {noformat}
> RexLocalRef ref;
> final int index = exprList.size();
> exprList.add(expr);
> ref =
> new RexLocalRef(
> index,
> expr.getType());
> localRefList.add(ref);
> return ref;
> {noformat}
> localRefList get error size, so in line 939,
> {noformat}
> final RexLocalRef ref = localRefList.get(index);
> {noformat}
> throw IndexOutOfBoundsException
> bugfix:
> We can't change origin code of calcite before they fix this bug, so we can 
> init NAMEs in RexLocalRef on start. Just add 
> {noformat}
> RexInputRef.createName(2048);
> {noformat}
> on Bootstrap.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4766) FragmentExecutor should use EventProcessor and avoid blocking rpc threads

2016-08-25 Thread Krystal (JIRA)

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

Krystal commented on DRILL-4766:


Used the following steps to re-produce problem without the fix:
1. Added 1 schemas/tables to hive.
2. Lowered the rpc bit timeout (drillbit heart beat) to 10 seconds in 
drill-override.conf (rpc.bit.timeout: 10).
3. Ran the following query:
select DISTINCT TABLE_TYPE from INFORMATION_SCHEMA.`TABLES` WHERE TABLE_TYPE 
LIKE '%';
4. Cancelled the query.
5. Kicked off several queries from different clients.

The queries from Step 5 that connect to the same foreman as the cancelled query 
consistently fail with error:
{code}
ERROR o.a.d.exec.rpc.RpcExceptionHandler - Exception in RPC communication.  
Connection: /10.10.100.123:60884 <--> /10.10.100.123:31011 (control client).  
Closing connection.
java.io.IOException: syscall:read(...)() failed: Connection reset by peer
2016-08-09 14:50:10,285 [BitServer-3] ERROR 
o.a.d.exec.work.foreman.QueryManager - Failure while attempting to CANCEL 
fragment query_id {
  part1: 2906422873165293041
  part2: 4085948525804402223
}
major_fragment_id: 2
minor_fragment_id: 1
 on endpoint address: "qa-node111"
user_port: 31010
control_port: 31011
data_port: 31012
 with org.apache.drill.exec.rpc.ChannelClosedException: Channel closed 
/10.10.100.123:60884 <--> /10.10.100.123:31011..
2016-08-09 14:50:10,286 [BitServer-3] ERROR 
o.a.d.exec.work.foreman.QueryManager - Failure while attempting to CANCEL 
fragment query_id {
  part1: 2906422873165293041
  part2: 4085948525804402223
}
{code}

Executed the same steps against build with the fix and did not encounter any 
failures.

> FragmentExecutor should use EventProcessor and avoid blocking rpc threads
> -
>
> Key: DRILL-4766
> URL: https://issues.apache.org/jira/browse/DRILL-4766
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Execution - Flow
>Affects Versions: 1.7.0
>Reporter: Deneche A. Hakim
>Assignee: Sudheesh Katkam
>Priority: Minor
> Fix For: 1.8.0
>
>
> Currently, rpc thread can block when trying to deliver a cancel or early 
> termination message to a blocked fragment executor.
> Foreman already uses an EventProcessor to avoid such scenarios. 
> FragmentExecutor could be improved to avoid blocking rpc threads as well



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (DRILL-4766) FragmentExecutor should use EventProcessor and avoid blocking rpc threads

2016-08-25 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal closed DRILL-4766.
--

Verified fix.

> FragmentExecutor should use EventProcessor and avoid blocking rpc threads
> -
>
> Key: DRILL-4766
> URL: https://issues.apache.org/jira/browse/DRILL-4766
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Execution - Flow
>Affects Versions: 1.7.0
>Reporter: Deneche A. Hakim
>Assignee: Sudheesh Katkam
>Priority: Minor
> Fix For: 1.8.0
>
>
> Currently, rpc thread can block when trying to deliver a cancel or early 
> termination message to a blocked fragment executor.
> Foreman already uses an EventProcessor to avoid such scenarios. 
> FragmentExecutor could be improved to avoid blocking rpc threads as well



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DRILL-4766) FragmentExecutor should use EventProcessor and avoid blocking rpc threads

2016-08-25 Thread Krystal (JIRA)

 [ 
https://issues.apache.org/jira/browse/DRILL-4766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krystal updated DRILL-4766:
---
Reviewer: Krystal  (was: Rahul Challapalli)

> FragmentExecutor should use EventProcessor and avoid blocking rpc threads
> -
>
> Key: DRILL-4766
> URL: https://issues.apache.org/jira/browse/DRILL-4766
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Execution - Flow
>Affects Versions: 1.7.0
>Reporter: Deneche A. Hakim
>Assignee: Sudheesh Katkam
>Priority: Minor
> Fix For: 1.8.0
>
>
> Currently, rpc thread can block when trying to deliver a cancel or early 
> termination message to a blocked fragment executor.
> Foreman already uses an EventProcessor to avoid such scenarios. 
> FragmentExecutor could be improved to avoid blocking rpc threads as well



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


  1   2   3   4   5   >