[jira] [Updated] (DRILL-2619) Unsupported implicit casts should throw a proper error message

2015-03-30 Thread Rahul Challapalli (JIRA)

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

Rahul Challapalli updated DRILL-2619:
-
Priority: Minor  (was: Major)

 Unsupported implicit casts should throw a proper error message
 --

 Key: DRILL-2619
 URL: https://issues.apache.org/jira/browse/DRILL-2619
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Reporter: Rahul Challapalli
Assignee: Daniel Barclay (Drill)
Priority: Minor
  Labels: error_message_must_fix

 git.commit.id.abbrev=c11fcf7
 When I have a where clause with an implicit cast, I get back a wierd message 
 which does not indicate the problem
 {code}
 select columns[9] from `fewtypes_null.tbl` where columns[0] = 6;
 Query failed: RemoteRpcException: Failure while running fragment., null [ 
 0faf63c5-cdca-4b5b-a2ab-5f3ef02d5c9b on qa-node191.qa.lab:31010 ]
 [ 0faf63c5-cdca-4b5b-a2ab-5f3ef02d5c9b on qa-node191.qa.lab:31010 ]
 {code}
 Attached the stacktrace. Let me know if you need anything more.



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


[jira] [Created] (DRILL-2619) Unsupported implicit casts should throw a proper error message

2015-03-30 Thread Rahul Challapalli (JIRA)
Rahul Challapalli created DRILL-2619:


 Summary: Unsupported implicit casts should throw a proper error 
message
 Key: DRILL-2619
 URL: https://issues.apache.org/jira/browse/DRILL-2619
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Reporter: Rahul Challapalli
Assignee: Daniel Barclay (Drill)


git.commit.id.abbrev=c11fcf7

When I have a where clause with an implicit cast, I get back a wierd message 
which does not indicate the problem
{code}
select columns[9] from `fewtypes_null.tbl` where columns[0] = 6;
Query failed: RemoteRpcException: Failure while running fragment., null [ 
0faf63c5-cdca-4b5b-a2ab-5f3ef02d5c9b on qa-node191.qa.lab:31010 ]
[ 0faf63c5-cdca-4b5b-a2ab-5f3ef02d5c9b on qa-node191.qa.lab:31010 ]
{code}

Attached the stacktrace. Let me know if you need anything more.



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


[jira] [Created] (DRILL-2620) Casting to float is changing the value slightly

2015-03-30 Thread Rahul Challapalli (JIRA)
Rahul Challapalli created DRILL-2620:


 Summary: Casting to float is changing the value slightly
 Key: DRILL-2620
 URL: https://issues.apache.org/jira/browse/DRILL-2620
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Reporter: Rahul Challapalli
Assignee: Daniel Barclay (Drill)


git.commit.id.abbrev=c11fcf7

Data Set :
{code}
2345552345.5342
4784.5735
{code}

Drill Query :
{code}
select cast(columns[0] as float) from `abc.tbl`;
++
|   EXPR$0   |
++
| 2.34555238E9 |
| 4784.5737  |
++
{code}

I am not sure whether this is a known limitation or a bug



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


[jira] [Created] (DRILL-2625) org.apache.drill.common.StackTrace should follow standard stacktrace format

2015-03-30 Thread Daniel Barclay (Drill) (JIRA)
Daniel Barclay (Drill) created DRILL-2625:
-

 Summary: org.apache.drill.common.StackTrace should follow standard 
stacktrace format
 Key: DRILL-2625
 URL: https://issues.apache.org/jira/browse/DRILL-2625
 Project: Apache Drill
  Issue Type: Bug
Reporter: Daniel Barclay (Drill)


org.apache.drill.common.StackTrace uses a different textual format than JDK's 
standard format for stack traces.

It should probably use the standard format so that its stack trace output can 
be used by tools that already can parse the standard format to provide 
functionality such as displaying the corresponding source.

(After correcting for DRILL-, StackTrace formats stack traces like this:

org.apache.drill.common.StackTrace.init:1
org.apache.drill.exec.server.Drillbit.run:20
org.apache.drill.jdbc.DrillConnectionImpl.init:232

The normal form is like this:
at 
org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:162)
at 
org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:75)
at com.google.common.io.Closeables.close(Closeables.java:77)
)





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


[jira] [Resolved] (DRILL-2599) Wrong results while using stddev with views

2015-03-30 Thread Mehant Baid (JIRA)

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

Mehant Baid resolved DRILL-2599.

Resolution: Fixed

Fixed in 96d51bdedbeab2f95075ca5e40cdc7b65b1c8e99

 Wrong results while using stddev with views
 ---

 Key: DRILL-2599
 URL: https://issues.apache.org/jira/browse/DRILL-2599
 Project: Apache Drill
  Issue Type: Bug
  Components: Query Planning  Optimization
Reporter: Mehant Baid
Assignee: Mehant Baid
 Fix For: 0.9.0

 Attachments: DRILL-2599.patch


 We seem to be injecting an additional cast in DrillReduceAggregate rule in 
 the case we know the input type of the aggregate function.



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


[jira] [Updated] (DRILL-2626) org.apache.drill.common.StackTrace seems to have duplicate code; should we re-use Throwable's code?

2015-03-30 Thread Daniel Barclay (Drill) (JIRA)

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

Daniel Barclay (Drill) updated DRILL-2626:
--
Description: 
It seems that class org.apache.drill.common.StackTrace needlessly duplicates 
code that's already in the JDK.

In particular, it has code to format the stack trace.  That seems at least 
mostly redundant with the formatting code already in java.lang.Throwable.

StackTrace does have a comment about eliminating the StackTrace constructor 
from the stack trace.  However, StackTrace does _not_ actuallly eliminate its 
contructor from the stack trace (e.g., its stack traces start with 
org.apache.drill.common.StackTrace.init:...).


Should StackTrace be implemented by simply subclassing Throwable?  

That would eliminate StackTrace's current formatting code (which would also 
eliminate the difference between StackTrace's format and the standard format).

That should also eliminate having the StackTrace constructor's stack frame show 
up in the stack trace.  (Throwable's constructor/fillInStackTrace already 
handles that.)

(Having StackTrace extends Throwable isn't ideal, since StackTrace is not 
intended to be a kind of exception, but that would probably be better than the 
current form, given the bugs StackTrace has/has had (DRILL-2624, DRILL-2625).

That non-ideal subclassing could be eliminated by having a member variable of 
type Throwable that is constructed during StackTrace's construction, although 
that would either cause the StackTrace constructor to re-appear in the stack 
trace or require a non-trivial workaround to re-eliminate it.

Perhaps client code should simply use new Throwable() to capture the stack 
trace and a static methods on a utility class to format the stack trace into a 
String.)



  was:
It seems that class org.apache.drill.common.StackTrace needlessly duplicates 
code that's already in the JDK.

In particular, it has code to format the stack trace.  That seems at least 
mostly redundant with the formatting code already in java.lang.Throwable.

StackTrace does have a comment about eliminating the StackTrace constructor 
from the stack trace.  However, StackTrace does _not_ actuallly eliminate its 
contructor from the stack trace (e.g., its stack traces start with 
org.apache.drill.common.StackTrace.init:...).


Should StackTrace be implemented by simply subclassing Throwable?  

That would eliminate StackTrace's current formatting code (which would also 
eliminate the difference between StackTrace's format and the standard format).

That should also eliminate having the StackTrace constructor's stack frame show 
up in the stack trace.  (Throwable's constructor/fillInStackTrace already 
handles that.)

(Having StackTrace extends Throwable isn't ideal, since StackTrace is not 
intended to be a kind of exception, but that would probably be better than the 
current form, given the bugs StackTrace has/has had (DRILL-x, DRILL-).

That non-ideal subclassing could be eliminated by having a member variable of 
type Throwable that is constructed during StackTrace's construction, although 
that would either cause the StackTrace constructor to re-appear in the stack 
trace or require a non-trivial workaround to re-eliminate it.

Perhaps client code should simply use new Throwable() to capture the stack 
trace and a static methods on a utility class to format the stack trace into a 
String.)




 org.apache.drill.common.StackTrace seems to have duplicate code; should we 
 re-use Throwable's code?
 ---

 Key: DRILL-2626
 URL: https://issues.apache.org/jira/browse/DRILL-2626
 Project: Apache Drill
  Issue Type: Bug
Reporter: Daniel Barclay (Drill)

 It seems that class org.apache.drill.common.StackTrace needlessly duplicates 
 code that's already in the JDK.
 In particular, it has code to format the stack trace.  That seems at least 
 mostly redundant with the formatting code already in java.lang.Throwable.
 StackTrace does have a comment about eliminating the StackTrace constructor 
 from the stack trace.  However, StackTrace does _not_ actuallly eliminate its 
 contructor from the stack trace (e.g., its stack traces start with 
 org.apache.drill.common.StackTrace.init:...).
 Should StackTrace be implemented by simply subclassing Throwable?  
 That would eliminate StackTrace's current formatting code (which would also 
 eliminate the difference between StackTrace's format and the standard format).
 That should also eliminate having the StackTrace constructor's stack frame 
 show up in the stack trace.  (Throwable's constructor/fillInStackTrace 
 already handles that.)
 (Having StackTrace extends Throwable isn't ideal, since StackTrace is not 
 intended to be a kind of exception, but that would probably 

[jira] [Created] (DRILL-2624) org.apache.drill.common.StackTrace prints garbage for line numbers

2015-03-30 Thread Daniel Barclay (Drill) (JIRA)
Daniel Barclay (Drill) created DRILL-2624:
-

 Summary: org.apache.drill.common.StackTrace prints garbage for 
line numbers
 Key: DRILL-2624
 URL: https://issues.apache.org/jira/browse/DRILL-2624
 Project: Apache Drill
  Issue Type: Bug
Reporter: Daniel Barclay (Drill)


org.apache.drill.common.StackTrace's write(...) method prints irrelevant 
characters instead of line numbers, for example:

org.apache.drill.common.StackTrace.init:$
org.apache.drill.exec.server.Drillbit.run:ᅢᄉ
org.apache.drill.jdbc.DrillConnectionImpl.init:[
org.apache.drill.jdbc.DrillJdbc41Factory$DrillJdbc41Connection.init:^
org.apache.drill.jdbc.DrillJdbc41Factory.newDrillConnection:9
org.apache.drill.jdbc.DrillJdbc41Factory.newDrillConnection:^A
org.apache.drill.jdbc.DrillFactory.newConnection:6
net.hydromatic.avatica.UnregisteredDriver.connect:~
java.sql.DriverManager.getConnection:￈ᄏ
java.sql.DriverManager.getConnection:ᅡᄏ
...

The problem is that somebody passed a line number to Writer.write(int c)--which 
takes an integer _representing a character_, *not* an integer to represent as a 
string of characters.  (Writer's write(...) methods are not like PrintWriter's 
and PrintStream's print(...) methods.)

Additionally, a meta-problem is that apparently it was never verified that the 
code actually worked.  We need to execute the code and verify that it works *at 
least once* before checking it in.

A second meta-problem is that there no unit test for the code.  We should have 
unit tests for most code--especially code that is isolated and easy to test as 
this class seems to be.






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


[jira] [Updated] (DRILL-2625) org.apache.drill.common.StackTrace should follow standard stacktrace format

2015-03-30 Thread Daniel Barclay (Drill) (JIRA)

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

Daniel Barclay (Drill) updated DRILL-2625:
--
Description: 
org.apache.drill.common.StackTrace uses a different textual format than JDK's 
standard format for stack traces.

It should probably use the standard format so that its stack trace output can 
be used by tools that already can parse the standard format to provide 
functionality such as displaying the corresponding source.

(After correcting for DRILL-2624, StackTrace formats stack traces like this:

org.apache.drill.common.StackTrace.init:1
org.apache.drill.exec.server.Drillbit.run:20
org.apache.drill.jdbc.DrillConnectionImpl.init:232

The normal form is like this:
at 
org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:162)
at 
org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:75)
at com.google.common.io.Closeables.close(Closeables.java:77)
)



  was:
org.apache.drill.common.StackTrace uses a different textual format than JDK's 
standard format for stack traces.

It should probably use the standard format so that its stack trace output can 
be used by tools that already can parse the standard format to provide 
functionality such as displaying the corresponding source.

(After correcting for DRILL-, StackTrace formats stack traces like this:

org.apache.drill.common.StackTrace.init:1
org.apache.drill.exec.server.Drillbit.run:20
org.apache.drill.jdbc.DrillConnectionImpl.init:232

The normal form is like this:
at 
org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:162)
at 
org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:75)
at com.google.common.io.Closeables.close(Closeables.java:77)
)




 org.apache.drill.common.StackTrace should follow standard stacktrace format
 ---

 Key: DRILL-2625
 URL: https://issues.apache.org/jira/browse/DRILL-2625
 Project: Apache Drill
  Issue Type: Bug
Reporter: Daniel Barclay (Drill)

 org.apache.drill.common.StackTrace uses a different textual format than JDK's 
 standard format for stack traces.
 It should probably use the standard format so that its stack trace output can 
 be used by tools that already can parse the standard format to provide 
 functionality such as displaying the corresponding source.
 (After correcting for DRILL-2624, StackTrace formats stack traces like this:
 org.apache.drill.common.StackTrace.init:1
 org.apache.drill.exec.server.Drillbit.run:20
 org.apache.drill.jdbc.DrillConnectionImpl.init:232
 The normal form is like this:
   at 
 org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:162)
   at 
 org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:75)
   at com.google.common.io.Closeables.close(Closeables.java:77)
 )



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


[jira] [Commented] (DRILL-2620) Casting to float is changing the value slightly

2015-03-30 Thread Ted Dunning (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14386941#comment-14386941
 ] 

Ted Dunning commented on DRILL-2620:


What did you expect to see?

In SQL the default precision of a FLOAT is implementation defined.  I strongly 
suspect that in Drill the default is 24 (i.e. single precision).  If you care 
(and you seem to), you might be better served by specifying DOUBLE as the type 
or FLOAT(53).

Single precision floating point (aka float) only provides 6 digits of 
precision.  You, as the lucky person you are, got 7.

http://en.wikipedia.org/wiki/Single-precision_floating-point_format

 Casting to float is changing the value slightly
 ---

 Key: DRILL-2620
 URL: https://issues.apache.org/jira/browse/DRILL-2620
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Reporter: Rahul Challapalli
Assignee: Daniel Barclay (Drill)

 git.commit.id.abbrev=c11fcf7
 Data Set :
 {code}
 2345552345.5342
 4784.5735
 {code}
 Drill Query :
 {code}
 select cast(columns[0] as float) from `abc.tbl`;
 ++
 |   EXPR$0   |
 ++
 | 2.34555238E9 |
 | 4784.5737  |
 ++
 {code}
 I am not sure whether this is a known limitation or a bug



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


[jira] [Assigned] (DRILL-2601) Print SQL query text along with query id in drillbit.log

2015-03-30 Thread Sudheesh Katkam (JIRA)

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

Sudheesh Katkam reassigned DRILL-2601:
--

Assignee: Sudheesh Katkam  (was: Jacques Nadeau)

 Print SQL query text along with query id in drillbit.log
 

 Key: DRILL-2601
 URL: https://issues.apache.org/jira/browse/DRILL-2601
 Project: Apache Drill
  Issue Type: Improvement
  Components: Storage - Other
Reporter: Victoria Markman
Assignee: Sudheesh Katkam

 This is a request to print text of a query into drillbit.log  in the default 
 non verbose output. It includes all the changes of a session level parameters 
 and anything else that might help reproducing issue on a customer site.



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


[jira] [Created] (DRILL-2627) Full outer join does not work in views when order by is present

2015-03-30 Thread Victoria Markman (JIRA)
Victoria Markman created DRILL-2627:
---

 Summary: Full outer join does not work in views when order by is 
present
 Key: DRILL-2627
 URL: https://issues.apache.org/jira/browse/DRILL-2627
 Project: Apache Drill
  Issue Type: New Feature
  Components: Query Planning  Optimization
Affects Versions: 0.8.0
Reporter: Victoria Markman
Assignee: Jinfeng Ni


{code}
0: jdbc:drill:schema=dfs select * from t1;
++++
| a1 | b1 | c1 |
++++
| 1  | 2015-03-01 | a  |
| 2  | 2015-03-02 | b  |
| null   | null   | null   |
++++
3 rows selected (0.074 seconds)

0: jdbc:drill:schema=dfs select * from t2;
++++
| a2 | b2 | c2 |
++++
| 5  | 2017-03-01 | a  |
++++
1 row selected (0.056 seconds)

0: jdbc:drill:schema=dfs select * from t1 full outer join t2 on (t1.a1 = 
t2.a2);
+++++++
| a1 | b1 | c1 | a2 | b2 | c2 |
+++++++
| 1  | 2015-03-01 | a  | null   | null   | null   |
| 2  | 2015-03-02 | b  | null   | null   | null   |
| null   | null   | null   | null   | null   | null   |
| null   | null   | null   | 5  | 2017-03-01 | a  |
+++++++
4 rows selected (0.277 seconds)

0: jdbc:drill:schema=dfs create or replace view v2 as select cast(a2 as 
integer) a2, cast(b2 as date) as b2, cast(c2 as varchar(30)) as c2 from t2 
order by a2, b2, c2;
+++
| ok |  summary   |
+++
| true   | View 'v2' replaced successfully in 'dfs.test' schema |
+++
1 row selected (0.1 seconds)

0: jdbc:drill:schema=dfs create or replace view v1 as select cast(a1 as 
integer) a1, cast(b1 as date) as b1, cast(c1 as varchar(30)) as c1 from t1 
order by a1, b1, c1;
+++
| ok |  summary   |
+++
| true   | View 'v1' replaced successfully in 'dfs.test' schema |
+++
1 row selected (0.104 seconds)
{code}

Merge join plan is planned because input is sorted (order by in both views).
Since full outer join is not supported with merge join, we get an error.
{code}
0: jdbc:drill:schema=dfs select * from v1 full outer join v2 on (v1.a1 = 
v2.a2);
Query failed: IllegalArgumentException: Full outer join not currently supported
Error: exception while executing query: Failure while executing query. 
(state=,code=0)
{code}

or subqueries
{code}
0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by a1, 
b1, c1) as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 order by 
a2, b2,c2) as sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
Query failed: IllegalArgumentException: Full outer join not currently supported
Error: exception while executing query: Failure while executing query. 
(state=,code=0)

0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by a1) 
as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 order by a2) as 
sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
Query failed: IllegalArgumentException: Full outer join not currently supported
Error: exception while executing query: Failure while executing query. 
(state=,code=0)
{code}




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


[jira] [Updated] (DRILL-2625) org.apache.drill.common.StackTrace should follow standard stacktrace format

2015-03-30 Thread Chris Westin (JIRA)

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

Chris Westin updated DRILL-2625:

Affects Version/s: 0.8.0

 org.apache.drill.common.StackTrace should follow standard stacktrace format
 ---

 Key: DRILL-2625
 URL: https://issues.apache.org/jira/browse/DRILL-2625
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Barclay (Drill)
Assignee: Chris Westin

 org.apache.drill.common.StackTrace uses a different textual format than JDK's 
 standard format for stack traces.
 It should probably use the standard format so that its stack trace output can 
 be used by tools that already can parse the standard format to provide 
 functionality such as displaying the corresponding source.
 (After correcting for DRILL-2624, StackTrace formats stack traces like this:
 org.apache.drill.common.StackTrace.init:1
 org.apache.drill.exec.server.Drillbit.run:20
 org.apache.drill.jdbc.DrillConnectionImpl.init:232
 The normal form is like this:
   at 
 org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:162)
   at 
 org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:75)
   at com.google.common.io.Closeables.close(Closeables.java:77)
 )



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


[jira] [Assigned] (DRILL-2625) org.apache.drill.common.StackTrace should follow standard stacktrace format

2015-03-30 Thread Chris Westin (JIRA)

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

Chris Westin reassigned DRILL-2625:
---

Assignee: Chris Westin

 org.apache.drill.common.StackTrace should follow standard stacktrace format
 ---

 Key: DRILL-2625
 URL: https://issues.apache.org/jira/browse/DRILL-2625
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Barclay (Drill)
Assignee: Chris Westin

 org.apache.drill.common.StackTrace uses a different textual format than JDK's 
 standard format for stack traces.
 It should probably use the standard format so that its stack trace output can 
 be used by tools that already can parse the standard format to provide 
 functionality such as displaying the corresponding source.
 (After correcting for DRILL-2624, StackTrace formats stack traces like this:
 org.apache.drill.common.StackTrace.init:1
 org.apache.drill.exec.server.Drillbit.run:20
 org.apache.drill.jdbc.DrillConnectionImpl.init:232
 The normal form is like this:
   at 
 org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:162)
   at 
 org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:75)
   at com.google.common.io.Closeables.close(Closeables.java:77)
 )



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


[jira] [Updated] (DRILL-2624) org.apache.drill.common.StackTrace prints garbage for line numbers

2015-03-30 Thread Chris Westin (JIRA)

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

Chris Westin updated DRILL-2624:

Affects Version/s: 0.8.0

 org.apache.drill.common.StackTrace prints garbage for line numbers
 --

 Key: DRILL-2624
 URL: https://issues.apache.org/jira/browse/DRILL-2624
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Barclay (Drill)
Assignee: Chris Westin

 org.apache.drill.common.StackTrace's write(...) method prints irrelevant 
 characters instead of line numbers, for example:
 org.apache.drill.common.StackTrace.init:$
 org.apache.drill.exec.server.Drillbit.run:ᅢᄉ
 org.apache.drill.jdbc.DrillConnectionImpl.init:[
 org.apache.drill.jdbc.DrillJdbc41Factory$DrillJdbc41Connection.init:^
 org.apache.drill.jdbc.DrillJdbc41Factory.newDrillConnection:9
 org.apache.drill.jdbc.DrillJdbc41Factory.newDrillConnection:^A
 org.apache.drill.jdbc.DrillFactory.newConnection:6
 net.hydromatic.avatica.UnregisteredDriver.connect:~
 java.sql.DriverManager.getConnection:￈ᄏ
 java.sql.DriverManager.getConnection:ᅡᄏ
 ...
 The problem is that somebody passed a line number to Writer.write(int 
 c)--which takes an integer _representing a character_, *not* an integer to 
 represent as a string of characters.  (Writer's write(...) methods are not 
 like PrintWriter's and PrintStream's print(...) methods.)
 Additionally, a meta-problem is that apparently it was never verified that 
 the code actually worked.  We need to execute the code and verify that it 
 works *at least once* before checking it in.
 A second meta-problem is that there no unit test for the code.  We should 
 have unit tests for most code--especially code that is isolated and easy to 
 test as this class seems to be.



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


[jira] [Assigned] (DRILL-2624) org.apache.drill.common.StackTrace prints garbage for line numbers

2015-03-30 Thread Chris Westin (JIRA)

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

Chris Westin reassigned DRILL-2624:
---

Assignee: Chris Westin

 org.apache.drill.common.StackTrace prints garbage for line numbers
 --

 Key: DRILL-2624
 URL: https://issues.apache.org/jira/browse/DRILL-2624
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Barclay (Drill)
Assignee: Chris Westin

 org.apache.drill.common.StackTrace's write(...) method prints irrelevant 
 characters instead of line numbers, for example:
 org.apache.drill.common.StackTrace.init:$
 org.apache.drill.exec.server.Drillbit.run:ᅢᄉ
 org.apache.drill.jdbc.DrillConnectionImpl.init:[
 org.apache.drill.jdbc.DrillJdbc41Factory$DrillJdbc41Connection.init:^
 org.apache.drill.jdbc.DrillJdbc41Factory.newDrillConnection:9
 org.apache.drill.jdbc.DrillJdbc41Factory.newDrillConnection:^A
 org.apache.drill.jdbc.DrillFactory.newConnection:6
 net.hydromatic.avatica.UnregisteredDriver.connect:~
 java.sql.DriverManager.getConnection:￈ᄏ
 java.sql.DriverManager.getConnection:ᅡᄏ
 ...
 The problem is that somebody passed a line number to Writer.write(int 
 c)--which takes an integer _representing a character_, *not* an integer to 
 represent as a string of characters.  (Writer's write(...) methods are not 
 like PrintWriter's and PrintStream's print(...) methods.)
 Additionally, a meta-problem is that apparently it was never verified that 
 the code actually worked.  We need to execute the code and verify that it 
 works *at least once* before checking it in.
 A second meta-problem is that there no unit test for the code.  We should 
 have unit tests for most code--especially code that is isolated and easy to 
 test as this class seems to be.



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


[jira] [Resolved] (DRILL-2375) project more than one column from nested array causes indexoutofbounds exception

2015-03-30 Thread Mehant Baid (JIRA)

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

Mehant Baid resolved DRILL-2375.

Resolution: Fixed

Fixed in 0fbcddba14405ec94d51b0ba3512925168efb433

 project more than one column from nested array causes indexoutofbounds 
 exception
 

 Key: DRILL-2375
 URL: https://issues.apache.org/jira/browse/DRILL-2375
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Affects Versions: 0.8.0
Reporter: Chun Chang
Assignee: Hanifi Gunes
Priority: Blocker
 Fix For: 0.9.0


 #Wed Feb 25 17:07:31 EST 2015
  git.commit.id.abbrev=f7ef5ec
 I have nested array in a json file looks like this:
 {code}
  aaa:[[[aa0 1], [ab0 1]], [[ba0 1], [bb0 1]],[[ca0 1, ca1 
 1],[cb0 1, cb1 1, cb2 1]]]
 {code}
 Following query causes index out of bound exception:
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ select t.id, t.aaa[0], 
 t.aaa[1] from `complex.json` t limit 5;
 Query failed: RemoteRpcException: Failure while running fragment., index: -4, 
 length: 4 (expected: range(0, 16384)) [ cc383967-6db8-459d-86fe-564d57f7c016 
 on qa-node120.qa.lab:31010 ]
 [ cc383967-6db8-459d-86fe-564d57f7c016 on qa-node120.qa.lab:31010 ]
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 {code}
 drillbit.log
 {code}
 2015-03-03 18:37:17,650 [2b099022-67e8-74b5-f68a-950fe3fe9375:frag:0:0] WARN  
 o.a.d.e.w.fragment.FragmentExecutor - Error while initializing or executing 
 fragment
 java.lang.IndexOutOfBoundsException: index: -4, length: 4 (expected: range(0, 
 16384))
 at io.netty.buffer.DrillBuf.checkIndexD(DrillBuf.java:156) 
 ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:4.0.24.Final]
 at io.netty.buffer.DrillBuf.chk(DrillBuf.java:178) 
 ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:4.0.24.Final]
 at io.netty.buffer.DrillBuf.getInt(DrillBuf.java:447) 
 ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:4.0.24.Final]
 at 
 org.apache.drill.exec.vector.UInt4Vector$Accessor.get(UInt4Vector.java:309) 
 ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.vector.complex.RepeatedListVector$RepeatedListAccessor.get(RepeatedListVector.java:195)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.vector.complex.impl.RepeatedListReaderImpl.setPosition(RepeatedListReaderImpl.java:79)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.vector.complex.impl.RepeatedListReaderImpl.setPosition(RepeatedListReaderImpl.java:86)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.test.generated.ProjectorGen80550.doEval(ProjectorTemplate.java:106)
  ~[na:na]
 at 
 org.apache.drill.exec.test.generated.ProjectorGen80550.projectRecords(ProjectorTemplate.java:62)
  ~[na:na]
 at 
 org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.doWork(ProjectRecordBatch.java:174)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:93)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:134)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:99)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:89)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:51)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.physical.impl.limit.LimitRecordBatch.innerNext(LimitRecordBatch.java:113)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142)
  ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
 at 
 

[jira] [Updated] (DRILL-2586) document data type formatting functions

2015-03-30 Thread Kristine Hahn (JIRA)

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

Kristine Hahn updated DRILL-2586:
-
Description: Add Bridget's MicroStrategy docs/images, add Kris's function 
files, misc. fixes

 document data type formatting functions
 ---

 Key: DRILL-2586
 URL: https://issues.apache.org/jira/browse/DRILL-2586
 Project: Apache Drill
  Issue Type: Task
  Components: Documentation
Affects Versions: 0.8.0
Reporter: Kristine Hahn
Assignee: Kristine Hahn

 Add Bridget's MicroStrategy docs/images, add Kris's function files, misc. 
 fixes



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


[jira] [Updated] (DRILL-2383) add exception and pause injections for testing drillbit stability

2015-03-30 Thread Sudheesh Katkam (JIRA)

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

Sudheesh Katkam updated DRILL-2383:
---
Description: 
Use the exception injection mechanism to add exception injections to test a 
variety of distributed failure scenarios.

Here are some scenarios we've worked out before:
1. Cancellation:
  TC1: cancel before any result set is returned
  TC2: cancel in the middle of fetching result set
  TC3: cancel after all result set are produced but not all are fetched
  TC4: cancel after everything is completed and fetched

As test setup, we need:
  - query dataset large enough to be sent to different drillbits, e.g., TPCH 100
  - queries that force multiple drillbits to work on them; e.g., count ... 
group by

2. Completed (in each case check all drillbits are still up and running):
  TC1: success
  TC2: failed query - before query is executed - while sql parsing
  TC3: failed query - before query is executed - while sending fragments to 
other drillbits for execution
  TC4: failed query - during query execution

It is currently not possible to create a scenario in which a query may hang.

To check all drillbits up and running and in a clean state, run:

-select count(*) from sys.drillbits;-
{code}
select count(*) from sys.memory;
{code}

  was:
Use the exception injection mechanism to add exception injections to test a 
variety of distributed failure scenarios.

Here are some scenarios we've worked out before:
1. Cancellation:
  TC1: cancel before any result set is returned
  TC2: cancel in the middle of fetching result set
  TC3: cancel after all result set are produced but not all are fetched
  TC4: cancel after everything is completed and fetched

As test setup, we need:
  - query dataset large enough to be sent to different drillbits, e.g., TPCH 100
  - queries that force multiple drillbits to work on them; e.g., count ... 
group by

2. Completed (in each case check all drillbits are still up and running):
  TC1: success
  TC2: failed query - before query is executed - while sql parsing
  TC3: failed query - before query is executed - while sending fragments to 
other drillbits for execution
  TC4: failed query - during query execution

It is currently not possible to create a scenario in which a query may hang.

To check all drillbits up and running and in a clean state, run:

select count(*) from sys.drillbits;



 add exception and pause injections for testing drillbit stability
 -

 Key: DRILL-2383
 URL: https://issues.apache.org/jira/browse/DRILL-2383
 Project: Apache Drill
  Issue Type: New Feature
  Components: Execution - Flow
Reporter: Chris Westin
Assignee: Sudheesh Katkam
 Fix For: 0.9.0


 Use the exception injection mechanism to add exception injections to test a 
 variety of distributed failure scenarios.
 Here are some scenarios we've worked out before:
 1. Cancellation:
   TC1: cancel before any result set is returned
   TC2: cancel in the middle of fetching result set
   TC3: cancel after all result set are produced but not all are fetched
   TC4: cancel after everything is completed and fetched
 As test setup, we need:
   - query dataset large enough to be sent to different drillbits, e.g., TPCH 
 100
   - queries that force multiple drillbits to work on them; e.g., count ... 
 group by
 2. Completed (in each case check all drillbits are still up and running):
   TC1: success
   TC2: failed query - before query is executed - while sql parsing
   TC3: failed query - before query is executed - while sending fragments to 
 other drillbits for execution
   TC4: failed query - during query execution
 It is currently not possible to create a scenario in which a query may hang.
 To check all drillbits up and running and in a clean state, run:
 -select count(*) from sys.drillbits;-
 {code}
 select count(*) from sys.memory;
 {code}



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


[jira] [Updated] (DRILL-2586) document data type formatting functions

2015-03-30 Thread Kristine Hahn (JIRA)

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

Kristine Hahn updated DRILL-2586:
-
Description: Add Bridget's MicroStrategy docs/images, add Kris's function 
files, Daniel's reorg of developer info, misc. fixes  (was: Add Bridget's 
MicroStrategy docs/images, add Kris's function files, misc. fixes)

 document data type formatting functions
 ---

 Key: DRILL-2586
 URL: https://issues.apache.org/jira/browse/DRILL-2586
 Project: Apache Drill
  Issue Type: Task
  Components: Documentation
Affects Versions: 0.8.0
Reporter: Kristine Hahn
Assignee: Kristine Hahn

 Add Bridget's MicroStrategy docs/images, add Kris's function files, Daniel's 
 reorg of developer info, misc. fixes



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


[jira] [Commented] (DRILL-2625) org.apache.drill.common.StackTrace should follow standard stacktrace format

2015-03-30 Thread Daniel Barclay (Drill) (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14387342#comment-14387342
 ] 

Daniel Barclay (Drill) commented on DRILL-2625:
---

Eclipse. (And Emacs, and presumably other IDEs too.)




 org.apache.drill.common.StackTrace should follow standard stacktrace format
 ---

 Key: DRILL-2625
 URL: https://issues.apache.org/jira/browse/DRILL-2625
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Barclay (Drill)
Assignee: Chris Westin

 org.apache.drill.common.StackTrace uses a different textual format than JDK's 
 standard format for stack traces.
 It should probably use the standard format so that its stack trace output can 
 be used by tools that already can parse the standard format to provide 
 functionality such as displaying the corresponding source.
 (After correcting for DRILL-2624, StackTrace formats stack traces like this:
 org.apache.drill.common.StackTrace.init:1
 org.apache.drill.exec.server.Drillbit.run:20
 org.apache.drill.jdbc.DrillConnectionImpl.init:232
 The normal form is like this:
   at 
 org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:162)
   at 
 org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:75)
   at com.google.common.io.Closeables.close(Closeables.java:77)
 )



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


[jira] [Assigned] (DRILL-2626) org.apache.drill.common.StackTrace seems to have duplicate code; should we re-use Throwable's code?

2015-03-30 Thread Chris Westin (JIRA)

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

Chris Westin reassigned DRILL-2626:
---

Assignee: Chris Westin

 org.apache.drill.common.StackTrace seems to have duplicate code; should we 
 re-use Throwable's code?
 ---

 Key: DRILL-2626
 URL: https://issues.apache.org/jira/browse/DRILL-2626
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Barclay (Drill)
Assignee: Chris Westin

 It seems that class org.apache.drill.common.StackTrace needlessly duplicates 
 code that's already in the JDK.
 In particular, it has code to format the stack trace.  That seems at least 
 mostly redundant with the formatting code already in java.lang.Throwable.
 StackTrace does have a comment about eliminating the StackTrace constructor 
 from the stack trace.  However, StackTrace does _not_ actuallly eliminate its 
 contructor from the stack trace (e.g., its stack traces start with 
 org.apache.drill.common.StackTrace.init:...).
 Should StackTrace be implemented by simply subclassing Throwable?  
 That would eliminate StackTrace's current formatting code (which would also 
 eliminate the difference between StackTrace's format and the standard format).
 That should also eliminate having the StackTrace constructor's stack frame 
 show up in the stack trace.  (Throwable's constructor/fillInStackTrace 
 already handles that.)
 (Having StackTrace extends Throwable isn't ideal, since StackTrace is not 
 intended to be a kind of exception, but that would probably be better than 
 the current form, given the bugs StackTrace has/has had (DRILL-2624, 
 DRILL-2625).
 That non-ideal subclassing could be eliminated by having a member variable of 
 type Throwable that is constructed during StackTrace's construction, although 
 that would either cause the StackTrace constructor to re-appear in the stack 
 trace or require a non-trivial workaround to re-eliminate it.
 Perhaps client code should simply use new Throwable() to capture the stack 
 trace and a static methods on a utility class to format the stack trace into 
 a String.)



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


[jira] [Updated] (DRILL-2626) org.apache.drill.common.StackTrace seems to have duplicate code; should we re-use Throwable's code?

2015-03-30 Thread Chris Westin (JIRA)

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

Chris Westin updated DRILL-2626:

Affects Version/s: 0.8.0

 org.apache.drill.common.StackTrace seems to have duplicate code; should we 
 re-use Throwable's code?
 ---

 Key: DRILL-2626
 URL: https://issues.apache.org/jira/browse/DRILL-2626
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Daniel Barclay (Drill)
Assignee: Chris Westin

 It seems that class org.apache.drill.common.StackTrace needlessly duplicates 
 code that's already in the JDK.
 In particular, it has code to format the stack trace.  That seems at least 
 mostly redundant with the formatting code already in java.lang.Throwable.
 StackTrace does have a comment about eliminating the StackTrace constructor 
 from the stack trace.  However, StackTrace does _not_ actuallly eliminate its 
 contructor from the stack trace (e.g., its stack traces start with 
 org.apache.drill.common.StackTrace.init:...).
 Should StackTrace be implemented by simply subclassing Throwable?  
 That would eliminate StackTrace's current formatting code (which would also 
 eliminate the difference between StackTrace's format and the standard format).
 That should also eliminate having the StackTrace constructor's stack frame 
 show up in the stack trace.  (Throwable's constructor/fillInStackTrace 
 already handles that.)
 (Having StackTrace extends Throwable isn't ideal, since StackTrace is not 
 intended to be a kind of exception, but that would probably be better than 
 the current form, given the bugs StackTrace has/has had (DRILL-2624, 
 DRILL-2625).
 That non-ideal subclassing could be eliminated by having a member variable of 
 type Throwable that is constructed during StackTrace's construction, although 
 that would either cause the StackTrace constructor to re-appear in the stack 
 trace or require a non-trivial workaround to re-eliminate it.
 Perhaps client code should simply use new Throwable() to capture the stack 
 trace and a static methods on a utility class to format the stack trace into 
 a String.)



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


[jira] [Updated] (DRILL-2627) Full outer join does not work in views when order by is present

2015-03-30 Thread Aman Sinha (JIRA)

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

Aman Sinha updated DRILL-2627:
--
Fix Version/s: 0.9.0

 Full outer join does not work in views when order by is present
 ---

 Key: DRILL-2627
 URL: https://issues.apache.org/jira/browse/DRILL-2627
 Project: Apache Drill
  Issue Type: New Feature
  Components: Query Planning  Optimization
Affects Versions: 0.8.0
Reporter: Victoria Markman
Assignee: Aman Sinha
 Fix For: 0.9.0


 {code}
 0: jdbc:drill:schema=dfs select * from t1;
 ++++
 | a1 | b1 | c1 |
 ++++
 | 1  | 2015-03-01 | a  |
 | 2  | 2015-03-02 | b  |
 | null   | null   | null   |
 ++++
 3 rows selected (0.074 seconds)
 0: jdbc:drill:schema=dfs select * from t2;
 ++++
 | a2 | b2 | c2 |
 ++++
 | 5  | 2017-03-01 | a  |
 ++++
 1 row selected (0.056 seconds)
 0: jdbc:drill:schema=dfs select * from t1 full outer join t2 on (t1.a1 = 
 t2.a2);
 +++++++
 | a1 | b1 | c1 | a2 | b2 | c2 
 |
 +++++++
 | 1  | 2015-03-01 | a  | null   | null   | null   
 |
 | 2  | 2015-03-02 | b  | null   | null   | null   
 |
 | null   | null   | null   | null   | null   | null   
 |
 | null   | null   | null   | 5  | 2017-03-01 | a  
 |
 +++++++
 4 rows selected (0.277 seconds)
 0: jdbc:drill:schema=dfs create or replace view v2 as select cast(a2 as 
 integer) a2, cast(b2 as date) as b2, cast(c2 as varchar(30)) as c2 from t2 
 order by a2, b2, c2;
 +++
 | ok |  summary   |
 +++
 | true   | View 'v2' replaced successfully in 'dfs.test' schema |
 +++
 1 row selected (0.1 seconds)
 0: jdbc:drill:schema=dfs create or replace view v1 as select cast(a1 as 
 integer) a1, cast(b1 as date) as b1, cast(c1 as varchar(30)) as c1 from t1 
 order by a1, b1, c1;
 +++
 | ok |  summary   |
 +++
 | true   | View 'v1' replaced successfully in 'dfs.test' schema |
 +++
 1 row selected (0.104 seconds)
 {code}
 Merge join plan is planned because input is sorted (order by in both views).
 Since full outer join is not supported with merge join, we get an error.
 {code}
 0: jdbc:drill:schema=dfs select * from v1 full outer join v2 on (v1.a1 = 
 v2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 {code}
 or subqueries
 {code}
 0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by 
 a1, b1, c1) as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 
 order by a2, b2,c2) as sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by 
 a1) as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 order by 
 a2) as sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 {code}



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


[jira] [Assigned] (DRILL-2627) Full outer join does not work in views when order by is present

2015-03-30 Thread Aman Sinha (JIRA)

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

Aman Sinha reassigned DRILL-2627:
-

Assignee: Aman Sinha  (was: Jinfeng Ni)

 Full outer join does not work in views when order by is present
 ---

 Key: DRILL-2627
 URL: https://issues.apache.org/jira/browse/DRILL-2627
 Project: Apache Drill
  Issue Type: New Feature
  Components: Query Planning  Optimization
Affects Versions: 0.8.0
Reporter: Victoria Markman
Assignee: Aman Sinha

 {code}
 0: jdbc:drill:schema=dfs select * from t1;
 ++++
 | a1 | b1 | c1 |
 ++++
 | 1  | 2015-03-01 | a  |
 | 2  | 2015-03-02 | b  |
 | null   | null   | null   |
 ++++
 3 rows selected (0.074 seconds)
 0: jdbc:drill:schema=dfs select * from t2;
 ++++
 | a2 | b2 | c2 |
 ++++
 | 5  | 2017-03-01 | a  |
 ++++
 1 row selected (0.056 seconds)
 0: jdbc:drill:schema=dfs select * from t1 full outer join t2 on (t1.a1 = 
 t2.a2);
 +++++++
 | a1 | b1 | c1 | a2 | b2 | c2 
 |
 +++++++
 | 1  | 2015-03-01 | a  | null   | null   | null   
 |
 | 2  | 2015-03-02 | b  | null   | null   | null   
 |
 | null   | null   | null   | null   | null   | null   
 |
 | null   | null   | null   | 5  | 2017-03-01 | a  
 |
 +++++++
 4 rows selected (0.277 seconds)
 0: jdbc:drill:schema=dfs create or replace view v2 as select cast(a2 as 
 integer) a2, cast(b2 as date) as b2, cast(c2 as varchar(30)) as c2 from t2 
 order by a2, b2, c2;
 +++
 | ok |  summary   |
 +++
 | true   | View 'v2' replaced successfully in 'dfs.test' schema |
 +++
 1 row selected (0.1 seconds)
 0: jdbc:drill:schema=dfs create or replace view v1 as select cast(a1 as 
 integer) a1, cast(b1 as date) as b1, cast(c1 as varchar(30)) as c1 from t1 
 order by a1, b1, c1;
 +++
 | ok |  summary   |
 +++
 | true   | View 'v1' replaced successfully in 'dfs.test' schema |
 +++
 1 row selected (0.104 seconds)
 {code}
 Merge join plan is planned because input is sorted (order by in both views).
 Since full outer join is not supported with merge join, we get an error.
 {code}
 0: jdbc:drill:schema=dfs select * from v1 full outer join v2 on (v1.a1 = 
 v2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 {code}
 or subqueries
 {code}
 0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by 
 a1, b1, c1) as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 
 order by a2, b2,c2) as sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by 
 a1) as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 order by 
 a2) as sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 {code}



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


[jira] [Commented] (DRILL-2627) Full outer join does not work in views when order by is present

2015-03-30 Thread Aman Sinha (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14387377#comment-14387377
 ] 

Aman Sinha commented on DRILL-2627:
---

I'll take a look.  We should not even try to generate a merge join plan for 
full outer joins. 

 Full outer join does not work in views when order by is present
 ---

 Key: DRILL-2627
 URL: https://issues.apache.org/jira/browse/DRILL-2627
 Project: Apache Drill
  Issue Type: New Feature
  Components: Query Planning  Optimization
Affects Versions: 0.8.0
Reporter: Victoria Markman
Assignee: Jinfeng Ni

 {code}
 0: jdbc:drill:schema=dfs select * from t1;
 ++++
 | a1 | b1 | c1 |
 ++++
 | 1  | 2015-03-01 | a  |
 | 2  | 2015-03-02 | b  |
 | null   | null   | null   |
 ++++
 3 rows selected (0.074 seconds)
 0: jdbc:drill:schema=dfs select * from t2;
 ++++
 | a2 | b2 | c2 |
 ++++
 | 5  | 2017-03-01 | a  |
 ++++
 1 row selected (0.056 seconds)
 0: jdbc:drill:schema=dfs select * from t1 full outer join t2 on (t1.a1 = 
 t2.a2);
 +++++++
 | a1 | b1 | c1 | a2 | b2 | c2 
 |
 +++++++
 | 1  | 2015-03-01 | a  | null   | null   | null   
 |
 | 2  | 2015-03-02 | b  | null   | null   | null   
 |
 | null   | null   | null   | null   | null   | null   
 |
 | null   | null   | null   | 5  | 2017-03-01 | a  
 |
 +++++++
 4 rows selected (0.277 seconds)
 0: jdbc:drill:schema=dfs create or replace view v2 as select cast(a2 as 
 integer) a2, cast(b2 as date) as b2, cast(c2 as varchar(30)) as c2 from t2 
 order by a2, b2, c2;
 +++
 | ok |  summary   |
 +++
 | true   | View 'v2' replaced successfully in 'dfs.test' schema |
 +++
 1 row selected (0.1 seconds)
 0: jdbc:drill:schema=dfs create or replace view v1 as select cast(a1 as 
 integer) a1, cast(b1 as date) as b1, cast(c1 as varchar(30)) as c1 from t1 
 order by a1, b1, c1;
 +++
 | ok |  summary   |
 +++
 | true   | View 'v1' replaced successfully in 'dfs.test' schema |
 +++
 1 row selected (0.104 seconds)
 {code}
 Merge join plan is planned because input is sorted (order by in both views).
 Since full outer join is not supported with merge join, we get an error.
 {code}
 0: jdbc:drill:schema=dfs select * from v1 full outer join v2 on (v1.a1 = 
 v2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 {code}
 or subqueries
 {code}
 0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by 
 a1, b1, c1) as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 
 order by a2, b2,c2) as sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 0: jdbc:drill:schema=dfs select * from (select a1, b1, c1 from t1 order by 
 a1) as sq1(a1, b1, c1) full outer join (select a2, b2, c2 from t2 order by 
 a2) as sq2(a2,b2,c2) on (sq1.a1 = sq2.a2);
 Query failed: IllegalArgumentException: Full outer join not currently 
 supported
 Error: exception while executing query: Failure while executing query. 
 (state=,code=0)
 {code}



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


[jira] [Updated] (DRILL-2571) convert_from fails with ' Wrong length 1(1-0) in the buffer '1', expected 4.'

2015-03-30 Thread Rahul Challapalli (JIRA)

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

Rahul Challapalli updated DRILL-2571:
-
Description: 
git.commit.id.abbrev=f1b59ed

Hbase :
{code}
create 'fewtypes_null', 'types'
put 'fewtypes_null', 1, 'types:int_col', 1
{code}

Now from Drill :
{code}
select * from fewtypes_null;
+++
|  row_key   |   types|
+++
| [B@2461ae9c | {int_col:MQ==} |
{code}

The below query fails :
{code}
select convert_from(a.types.int_col, 'INT') from fewtypes_null a;
Query failed: RemoteRpcException: Failure while running fragment., Wrong length 
1(1-0) in the buffer '1', expected 4. [ f9a3bb31-bb19-428c-8c7d-99e1898e66e7 on 
qa-node114.qa.lab:31010 ]
[ f9a3bb31-bb19-428c-8c7d-99e1898e66e7 on qa-node114.qa.lab:31010 ]
{code}

I attached the complete error from the logs. Let me know if you need anything 
else

  was:
git.commit.id.abbrev=f1b59ed

Hbase :
{code}
create 'fewtypes_null', 'types'
put 'fewtypes_null', 1, 'types:int_col', 1
{code}

Now from Drill :
{code}
select * from fewtypes_null;
+++
|  row_key   |   types|
+++
| [B@2461ae9c | {int_col:MQ==} |

The below query fails :
select convert_from(a.types.int_col, 'INT') from fewtypes_null a;
Query failed: RemoteRpcException: Failure while running fragment., Wrong length 
1(1-0) in the buffer '1', expected 4. [ f9a3bb31-bb19-428c-8c7d-99e1898e66e7 on 
qa-node114.qa.lab:31010 ]
[ f9a3bb31-bb19-428c-8c7d-99e1898e66e7 on qa-node114.qa.lab:31010 ]
{code}

I attached the complete error from the logs. Let me know if you need anything 
else


 convert_from fails with ' Wrong length 1(1-0) in the buffer '1', expected 4.'
 -

 Key: DRILL-2571
 URL: https://issues.apache.org/jira/browse/DRILL-2571
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - HBase
Reporter: Rahul Challapalli
Assignee: Aditya Kishore
Priority: Critical
 Attachments: dataload.hql, error.log


 git.commit.id.abbrev=f1b59ed
 Hbase :
 {code}
 create 'fewtypes_null', 'types'
 put 'fewtypes_null', 1, 'types:int_col', 1
 {code}
 Now from Drill :
 {code}
 select * from fewtypes_null;
 +++
 |  row_key   |   types|
 +++
 | [B@2461ae9c | {int_col:MQ==} |
 {code}
 The below query fails :
 {code}
 select convert_from(a.types.int_col, 'INT') from fewtypes_null a;
 Query failed: RemoteRpcException: Failure while running fragment., Wrong 
 length 1(1-0) in the buffer '1', expected 4. [ 
 f9a3bb31-bb19-428c-8c7d-99e1898e66e7 on qa-node114.qa.lab:31010 ]
 [ f9a3bb31-bb19-428c-8c7d-99e1898e66e7 on qa-node114.qa.lab:31010 ]
 {code}
 I attached the complete error from the logs. Let me know if you need anything 
 else



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


[jira] [Updated] (DRILL-1784) Ignore boolean type enforcement on filter conditions during validation

2015-03-30 Thread Hanifi Gunes (JIRA)

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

Hanifi Gunes updated DRILL-1784:

Component/s: Query Planning  Optimization

 Ignore boolean type enforcement on filter conditions during validation
 --

 Key: DRILL-1784
 URL: https://issues.apache.org/jira/browse/DRILL-1784
 Project: Apache Drill
  Issue Type: Improvement
  Components: Query Planning  Optimization, SQL Parser
Reporter: Hanifi Gunes
Assignee: Hanifi Gunes
Priority: Minor
 Fix For: 0.9.0


 The title should be self describing. To give some more context on this, it 
 would be nice if we stop boolean type enforcement on filter conditions as it 
 is possible to create a scenario where we don't have a concrete return type 
 but later bind it during execution. Currently we will need to `cast` 
 condition to boolean explicitly. This does not reflect the flexibility of 
 execution engine.



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


[jira] [Updated] (DRILL-2629) Initial concurrent queries executed on separate Connections fail

2015-03-30 Thread Kunal Khatua (JIRA)

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

Kunal Khatua updated DRILL-2629:

Summary: Initial concurrent queries executed on separate Connections fail  
(was: Initial concurrenct query fails)

 Initial concurrent queries executed on separate Connections fail
 

 Key: DRILL-2629
 URL: https://issues.apache.org/jira/browse/DRILL-2629
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
 Environment: RHEL 6.4
Reporter: Kunal Khatua
 Fix For: 0.9.0


 When launching concurrently queries on multiple connections (1 query per 
 connection) for the 1st time, some queries (which otherwise run without 
 issue) fail with IndexOutOfBoundsException
 Here is a sample case where 2 threads (PipSQuawkling.java) executed 2 
 different queries on separate SQL Connection objects.
 2015-03-25 19:07:20 [pip1] INFO  PipSQuawkling executeTest - [ 0 / 03_par100 
 ] Executing query...
 Query failed: IndexOutOfBoundsException: Index: 10, Size: 7
 2015-03-25 19:07:23 [pip1] ERROR PipSQuawkling executeQuery - [ 0 / 03_par100 
 ] exception while executing query: Failure while executing query.
 java.sql.SQLException: exception while executing query: Failure while 
 executing query.
 at net.hydromatic.avatica.Helper.createException(Helper.java:40)
 at 
 net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:406)
 at 
 net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(AvaticaStatement.java:351)
 at 
 net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:78)
 at PipSQuawkling.executeQuery(PipSQuawkling.java:284)
 at PipSQuawkling.executeTest(PipSQuawkling.java:144)
 at PipSQuawkling.run(PipSQuawkling.java:76)
 Caused by: java.sql.SQLException: Failure while executing query.
 at org.apache.drill.jdbc.DrillCursor.next(DrillCursor.java:144)
 at 
 org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:110)
 at 
 org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:49)
 at 
 net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:404)
 ... 5 more
 Caused by: org.apache.drill.exec.rpc.RpcException: IndexOutOfBoundsException: 
 Index: 10, Size: 7
 at 
 org.apache.drill.exec.rpc.user.QueryResultHandler.batchArrived(QueryResultHandler.java:157)
 at 
 org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:93)
 at 
 org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:52)
 at 
 org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:34)
 at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:57)
 at 
 org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:194)
 at 
 org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:173)
 at 
 io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 at 
 io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 at 
 io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:161)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 at 
 io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 at 
 io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
 at 
 io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
 at 
 io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
 at 
 io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
 at 
 

[jira] [Commented] (DRILL-2629) Initial concurrent queries executed on separate Connections fail

2015-03-30 Thread Kunal Khatua (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14387664#comment-14387664
 ] 

Kunal Khatua commented on DRILL-2629:
-

The # failures increases with increase in # concurrent threads firing queries:

[root@ucs-node1 drillTester]# grep -c  ERROR PipSQuawkling executeQuery 
concurrent_8493713_SF100_*thread*out | less
concurrent_8493713_SF100_1thread_20150325_1804.out:0
concurrent_8493713_SF100_2thread_20150325_1906.out:1
concurrent_8493713_SF100_4thread_20150325_2012.out:2
concurrent_8493713_SF100_8thread_20150325_2101.out:3
concurrent_8493713_SF100_12thread_20150325_2231.out:7
concurrent_8493713_SF100_16thread_20150325_2354.out:8


 Initial concurrent queries executed on separate Connections fail
 

 Key: DRILL-2629
 URL: https://issues.apache.org/jira/browse/DRILL-2629
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
 Environment: RHEL 6.4
Reporter: Kunal Khatua
 Fix For: 0.9.0


 When launching concurrently queries on multiple connections (1 query per 
 connection) for the 1st time, some queries (which otherwise run without 
 issue) fail with IndexOutOfBoundsException
 Here is a sample case where 2 threads (PipSQuawkling.java) executed 2 
 different queries on separate SQL Connection objects.
 2015-03-25 19:07:20 [pip1] INFO  PipSQuawkling executeTest - [ 0 / 03_par100 
 ] Executing query...
 Query failed: IndexOutOfBoundsException: Index: 10, Size: 7
 2015-03-25 19:07:23 [pip1] ERROR PipSQuawkling executeQuery - [ 0 / 03_par100 
 ] exception while executing query: Failure while executing query.
 java.sql.SQLException: exception while executing query: Failure while 
 executing query.
 at net.hydromatic.avatica.Helper.createException(Helper.java:40)
 at 
 net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:406)
 at 
 net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(AvaticaStatement.java:351)
 at 
 net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:78)
 at PipSQuawkling.executeQuery(PipSQuawkling.java:284)
 at PipSQuawkling.executeTest(PipSQuawkling.java:144)
 at PipSQuawkling.run(PipSQuawkling.java:76)
 Caused by: java.sql.SQLException: Failure while executing query.
 at org.apache.drill.jdbc.DrillCursor.next(DrillCursor.java:144)
 at 
 org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:110)
 at 
 org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:49)
 at 
 net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:404)
 ... 5 more
 Caused by: org.apache.drill.exec.rpc.RpcException: IndexOutOfBoundsException: 
 Index: 10, Size: 7
 at 
 org.apache.drill.exec.rpc.user.QueryResultHandler.batchArrived(QueryResultHandler.java:157)
 at 
 org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:93)
 at 
 org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:52)
 at 
 org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:34)
 at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:57)
 at 
 org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:194)
 at 
 org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:173)
 at 
 io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 at 
 io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 at 
 io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:161)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 at 
 io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
 at 
 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 at 
 

[jira] [Updated] (DRILL-2408) Invalid (0 length) parquet file created by CTAS

2015-03-30 Thread Deneche A. Hakim (JIRA)

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

Deneche A. Hakim updated DRILL-2408:

Attachment: DRILL-2408.3.patch.txt

rebased patch on top of master

 Invalid (0 length) parquet file created by CTAS
 ---

 Key: DRILL-2408
 URL: https://issues.apache.org/jira/browse/DRILL-2408
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Writer
Affects Versions: 0.8.0
Reporter: Aman Sinha
Assignee: Deneche A. Hakim
Priority: Critical
 Fix For: 0.9.0

 Attachments: DRILL-2408.1.patch.txt, DRILL-2408.2.patch.txt, 
 DRILL-2408.3.patch.txt


 We should not be creating 0 length parquet files; subsequent queries on these 
 will fail with the error shown below. 
 {code}
 0: jdbc:drill:zk=local create table tt5 as select * from 
 cp.`tpch/region.parquet` where 1=0;
 ++---+
 |  Fragment  | Number of records written |
 ++---+
 | 0_0| 0 |
 ++---+
 1 row selected (0.8 seconds)
 0: jdbc:drill:zk=local select count(*) from tt5;
 Query failed: RuntimeException: file:/tmp/tt5/0_0_0.parquet is not a Parquet 
 file (too small)
 Error: exception while executing query: Failure while executing query. 
 {code}



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


[jira] [Updated] (DRILL-2408) Invalid (0 length) parquet file created by CTAS

2015-03-30 Thread Deneche A. Hakim (JIRA)

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

Deneche A. Hakim updated DRILL-2408:

Attachment: (was: DRILL-2408.2.patch.txt)

 Invalid (0 length) parquet file created by CTAS
 ---

 Key: DRILL-2408
 URL: https://issues.apache.org/jira/browse/DRILL-2408
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Writer
Affects Versions: 0.8.0
Reporter: Aman Sinha
Assignee: Deneche A. Hakim
Priority: Critical
 Fix For: 0.9.0

 Attachments: DRILL-2408.1.patch.txt, DRILL-2408.2.patch.txt, 
 DRILL-2408.3.patch.txt


 We should not be creating 0 length parquet files; subsequent queries on these 
 will fail with the error shown below. 
 {code}
 0: jdbc:drill:zk=local create table tt5 as select * from 
 cp.`tpch/region.parquet` where 1=0;
 ++---+
 |  Fragment  | Number of records written |
 ++---+
 | 0_0| 0 |
 ++---+
 1 row selected (0.8 seconds)
 0: jdbc:drill:zk=local select count(*) from tt5;
 Query failed: RuntimeException: file:/tmp/tt5/0_0_0.parquet is not a Parquet 
 file (too small)
 Error: exception while executing query: Failure while executing query. 
 {code}



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


[jira] [Updated] (DRILL-2630) Merge join over inputs with complex type hit run-time code compiler error

2015-03-30 Thread Jinfeng Ni (JIRA)

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

Jinfeng Ni updated DRILL-2630:
--
Attachment: complex_1.json

Attach the sample JSON file used in the query.



 Merge join over inputs with complex type hit run-time code compiler error
 -

 Key: DRILL-2630
 URL: https://issues.apache.org/jira/browse/DRILL-2630
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Relational Operators
Reporter: Jinfeng Ni
Assignee: Chris Westin
 Attachments: complex_1.json


 Hit run-time code complier error, if we have a merge join whose inputs 
 contain complex type.
 {code}
 select * from sys.version;
 +++-+-++
 | commit_id  | commit_message | commit_time | build_email | build_time |
 +++-+-++
 | 0fbcddba14405ec94d51b0ba3512925168efb433 | DRILL-2375: implement reader 
 reset mechanism and reset reader before accessing it during projection | 
 30.03.2015 @ 10:27:02 PDT | j...@maprtech.com | 30.03.2015 @ 16:50:01 PDT |
 +++-+-++
 {code}
 {code}
 alter session set `planner.enable_hashjoin` = false;
 {code}
 {code}
 select a.id, b.oooi.oa.oab.oabc oabc, b.ooof.oa.oab oab from 
 dfs.`/tmp/complex_1.json` a left outer join cp.`/tmp/complex_1.json` b on 
 a.id=b.id order by a.id;
 {code}
 {code}
 ++++
 | id |oabc|oab |
 ++++
 Query failed: Query stopped., Line 49, Column 32: No applicable 
 constructor/method found for actual parameters int, int, 
 org.apache.drill.exec.vector.complex.MapVector; candidates are: public void 
 org.apache.drill.exec.vector.NullableTinyIntVector.copyFromSafe(int, int, 
 org.apache.drill.exec.vector.NullableTinyIntVector), public void 
 org.apache.drill.exec.vector.NullableTinyIntVector.copyFromSafe(int, int, 
 org.apache.drill.exec.vector.TinyIntVector) [ 
 e5905a74-98d0-46d4-8090-bcf0cc710e8a on 10.250.0.8:31010 ]
 {code}
 If I switch to hash join, then, the query works fine. Therefore, looks like 
 Merge Join operator has some bug in handling complex type.
 {code}
 alter session set `planner.enable_hashjoin` = true;
 +++
 | ok |  summary   |
 +++
 | true   | planner.enable_hashjoin updated. |
 +++
 1 row selected (0.058 seconds)
 0: jdbc:drill:zk=local select a.id, b.oooi.oa.oab.oabc oabc, b.ooof.oa.oab 
 oab from dfs.`/tmp/complex_1.json` a left outer join 
 dfs.`/tmp/complex_1.json` b on a.id=b.id order by a.id;
 ++++
 | id |oabc|oab |
 ++++
 | 1  | 1  | {oabc:1.5678} |
 | 2  | 2  | {oabc:2.5678} |
 ++++
 2 rows selected (0.73 seconds)
 {code}



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


[jira] [Closed] (DRILL-2082) nested arrays of strings returned wrong results

2015-03-30 Thread Chun Chang (JIRA)

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

Chun Chang closed DRILL-2082.
-
Assignee: Chun Chang  (was: Mehant Baid)

 nested arrays of strings returned wrong results
 ---

 Key: DRILL-2082
 URL: https://issues.apache.org/jira/browse/DRILL-2082
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Affects Versions: 0.8.0
Reporter: Chun Chang
Assignee: Chun Chang
Priority: Critical
 Fix For: 0.8.0


 #Mon Jan 26 14:10:51 PST 2015
 git.commit.id.abbrev=3c6d0ef
 Querying Complex JSON data type nested array of strings returned wrong 
 results when data size is large (1 million row). Smaller data size (a few 
 rows) returned correct results. Test data can be accessed at 
 http://apache-drill.s3.amazonaws.com/files/complex.json.gz
 For small data size, I got correct results:
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ select t.id, t.aaa from 
 `aaa.json` t;
 +++
 | id |aaa |
 +++
 | 1  | [[[aa0 1],[ab0 1]],[[ba0 1],[bb0 1]],[[ca0 1,ca1 
 1],[cb0 1,cb1 1,cb2 1]]] |
 | 2  | [[[aa0 2],[ab0 2]],[[ba0 2],[bb0 2]],[[ca0 2,ca1 
 2],[cb0 2,cb1 2,cb2 2]]] |
 +++
 {code}
 But large data size returned wrong results:
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ select t.id, t.aaa from 
 `complex.json` t where t.id=1 limit 1;
 +++
 | id |aaa |
 +++
 | 1  | [[[ba0 56],[bb0 56],[ca0 56,ca1 56],[cb0 56,cb1 
 56,cb2 56],[aa0 91],[ab0 91],[aa0 125],[ab0 125],[aa0 140],[ab0 
 140],[aa0 142],[ab0 142],[aa0 146],[ab0 146],[ba0 402],[bb0 
 402],[ca0 402,ca1 402],[cb0 402,cb1 402,cb2 402],[aa0 403],[ab0 
 403],[ba0 403],[bb0 403],[ca0 403,ca1 403],[cb0 403,cb1 403,cb2 
 403],[aa0 404],[ab0 404],[ba0 404],[bb0 404],[ca0 404,ca1 
 404],[cb0 404,cb1 404,cb2 404],[aa0 405],[ab0 405],[ba0 
 405],[bb0 405],[ca0 405,ca1 405],[cb0 405,cb1 405,cb2 405],[aa0 
 437],[ab0 437],[aa0 485],[ab0 485],[aa0 503],[ab0 503],[aa0 
 569],[ab0 569],[aa0 581],[ab0 581],[aa0 620],[ab0 620],[aa0 
 632],[ab0 632],[aa0 640],[ab0 640],[aa0 650],[ab0 650],[aa0 
 669],[ab0 669],[aa0 671],[ab0 671],[aa0 728],[ab0 728],[aa0 
 735],[ab0 735],[aa0 772],[ab0 772],[aa0 784],[ab0 784],[aa0 
 811],[ab0 811],[aa0 817],[ab0 817],[aa0 836],[ab0 836],[aa0 
 881],[ab0 881],[aa0 891],[ab0 891],[aa0 924],[ab0 924],[aa0 
 1005],[ab0 1005],[aa0 1057],[ab0 1057],[aa0 1086],[ab0 1086],[aa0 
 1089],[ab0 1089],[aa0 1097],[ab0 1097],[aa0 1133],[ab0 1133],[aa0 
 1136],[ab0 1136],[aa0 1146],[ab0 1146],[aa0 1169],[ab0 1169],[aa0 
 1178],[ab0 1178],[aa0 1184],[ab0 1184],[aa0 1189],[ab0 1189],[aa0 
 1223],[ab0 1223],[aa0 1275],[ab0 1275],[aa0 1290],[ab0 1290],[aa0 
 1295],[ab0 1295],[aa0 1320],[ab0 1320],[aa0 1343],[ab0 1343],[aa0 
 1400],[ab0 1400],[aa0 1426],[ab0 1426],[aa0 1442],[ab0 1442],[aa0 
 1455],[ab0 1455],[aa0 1499],[ab0 1499],[aa0 1521],[ab0 1521],[aa0 
 1541],[ab0 1541],[aa0 1557],[ab0 1557],[aa0 1578],[ab0 1578],[aa0 
 1633],[ab0 1633],[aa0 1635],[ab0 1635],[aa0 1651],[ab0 1651],[aa0 
 1665],[ab0 1665],[aa0 1689],[ab0 1689],[aa0 1760],[ab0 1760],[aa0 
 1784],[ab0 1784],[aa0 1796],[ab0 1796],[aa0 1801],[ab0 1801],[aa0 
 1817],[ab0 1817],[aa0 1861],[ab0 1861],[aa0 1872],[ab0 1872],[aa0 
 1895],[ab0 1895],[aa0 1897],[ab0 1897],[aa0 1911],[ab0 1911],[aa0 
 1975],[ab0 1975],[aa0 1983],[ab0 1983],[aa0 1996],[ab0 1996],[aa0 
 2005],[ab0 2005],[aa0 2048],[ab0 2048],[aa0 2063],[ab0 2063],[aa0 
 2150],[ab0 2150],[aa0 2159],[ab0 2159],[aa0 2214],[ab0 2214],[aa0 
 2218],[ab0 2218],[aa0 2220],[ab0 2220],[aa0 2250],[ab0 2250],[aa0 
 2256],[ab0 2256],[aa0 2265],[ab0 2265],[aa0 2296],[ab0 2296],[aa0 
 2319],[ab0 2319],[aa0 2327],[ab0 2327],[aa0 2333],[ab0 2333],[aa0 
 2361],[ab0 2361],[aa0 2392],[ab0 2392],[aa0 2399],[ab0 2399],[aa0 
 2424],[ab0 2424],[aa0 2466],[ab0 2466],[aa0 2473],[ab0 2473],[aa0 
 2508],[ab0 2508],[aa0 2524],[ab0 2524],[aa0 2550],[ab0 2550],[aa0 
 2553],[ab0 2553],[aa0 2560],[ab0 2560],[aa0 2563],[ab0 2563],[aa0 
 2574],[ab0 2574],[aa0 2592],[ab0 2592],[aa0 2600],[ab0 2600],[aa0 
 2606],[ab0 2606],[aa0 2639],[ab0 2639],[aa0 2670],[ab0 2670],[aa0 
 2684],[ab0 2684],[aa0 2720],[ab0 2720],[aa0 2745],[ab0 2745],[aa0 
 2763],[ab0 2763],[aa0 2786],[ab0 2786],[aa0 2831],[ab0 2831],[aa0 
 2834],[ab0 2834],[aa0 2838],[ab0 2838],[aa0 2842],[ab0 2842],[aa0 
 2909],[ab0 2909],[aa0 2982],[ab0 2982],[aa0 2989],[ab0 2989],[aa0 
 2992],[ab0 2992],[aa0 3027],[ab0 3027],[aa0 3033],[ab0 3033],[aa0 
 3052],[ab0 3052],[aa0 3072],[ab0 3072],[aa0 3078],[ab0 3078],[aa0 
 3104],[ab0 3104],[aa0 3116],[ab0 3116],[aa0 3152],[ab0 3152],[aa0 
 3168],[ab0 3168],[aa0 3195],[ab0 3195],[aa0 3202],[ab0 3202],[aa0 
 

[jira] [Created] (DRILL-2629) Initial concurrenct query fails

2015-03-30 Thread Kunal Khatua (JIRA)
Kunal Khatua created DRILL-2629:
---

 Summary: Initial concurrenct query fails
 Key: DRILL-2629
 URL: https://issues.apache.org/jira/browse/DRILL-2629
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.8.0
 Environment: RHEL 6.4
Reporter: Kunal Khatua
 Fix For: 0.9.0


When launching concurrently queries on multiple connections (1 query per 
connection) for the 1st time, some queries (which otherwise run without issue) 
fail with IndexOutOfBoundsException

Here is a sample case where 2 threads (PipSQuawkling.java) executed 2 different 
queries on separate SQL Connection objects.

2015-03-25 19:07:20 [pip1] INFO  PipSQuawkling executeTest - [ 0 / 03_par100 ] 
Executing query...
Query failed: IndexOutOfBoundsException: Index: 10, Size: 7

2015-03-25 19:07:23 [pip1] ERROR PipSQuawkling executeQuery - [ 0 / 03_par100 ] 
exception while executing query: Failure while executing query.
java.sql.SQLException: exception while executing query: Failure while executing 
query.
at net.hydromatic.avatica.Helper.createException(Helper.java:40)
at 
net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:406)
at 
net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(AvaticaStatement.java:351)
at 
net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:78)
at PipSQuawkling.executeQuery(PipSQuawkling.java:284)
at PipSQuawkling.executeTest(PipSQuawkling.java:144)
at PipSQuawkling.run(PipSQuawkling.java:76)
Caused by: java.sql.SQLException: Failure while executing query.
at org.apache.drill.jdbc.DrillCursor.next(DrillCursor.java:144)
at org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:110)
at org.apache.drill.jdbc.DrillResultSet.execute(DrillResultSet.java:49)
at 
net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:404)
... 5 more
Caused by: org.apache.drill.exec.rpc.RpcException: IndexOutOfBoundsException: 
Index: 10, Size: 7

at 
org.apache.drill.exec.rpc.user.QueryResultHandler.batchArrived(QueryResultHandler.java:157)
at 
org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:93)
at 
org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:52)
at 
org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:34)
at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:57)
at 
org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:194)
at 
org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:173)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:161)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at 
io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
at 
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:744)
2015-03-25 19:07:23 [pip1] INFO  PipSQuawkling executeQuery - [ 0 / 03_par100 ] 
Executed in 2369 msec
2015-03-25 19:07:23 

[jira] [Updated] (DRILL-2408) Invalid (0 length) parquet file created by CTAS

2015-03-30 Thread Deneche A. Hakim (JIRA)

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

Deneche A. Hakim updated DRILL-2408:

Attachment: DRILL-2408.2.patch.txt

rebased the patch on top of master

 Invalid (0 length) parquet file created by CTAS
 ---

 Key: DRILL-2408
 URL: https://issues.apache.org/jira/browse/DRILL-2408
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Writer
Affects Versions: 0.8.0
Reporter: Aman Sinha
Assignee: Deneche A. Hakim
Priority: Critical
 Fix For: 0.9.0

 Attachments: DRILL-2408.1.patch.txt, DRILL-2408.2.patch.txt, 
 DRILL-2408.2.patch.txt


 We should not be creating 0 length parquet files; subsequent queries on these 
 will fail with the error shown below. 
 {code}
 0: jdbc:drill:zk=local create table tt5 as select * from 
 cp.`tpch/region.parquet` where 1=0;
 ++---+
 |  Fragment  | Number of records written |
 ++---+
 | 0_0| 0 |
 ++---+
 1 row selected (0.8 seconds)
 0: jdbc:drill:zk=local select count(*) from tt5;
 Query failed: RuntimeException: file:/tmp/tt5/0_0_0.parquet is not a Parquet 
 file (too small)
 Error: exception while executing query: Failure while executing query. 
 {code}



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


[jira] [Closed] (DRILL-1988) join returned maps are all empty

2015-03-30 Thread Chun Chang (JIRA)

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

Chun Chang closed DRILL-1988.
-
Assignee: Chun Chang  (was: Mehant Baid)

verified.

 join returned maps are all empty
 

 Key: DRILL-1988
 URL: https://issues.apache.org/jira/browse/DRILL-1988
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Affects Versions: 0.8.0
Reporter: Chun Chang
Assignee: Chun Chang
Priority: Critical
 Attachments: DRILL-1988.patch


 #Fri Jan 09 20:39:31 EST 2015
 git.commit.id.abbrev=487d98e
 For complex json type, a join query returned all maps with empty value. The 
 actual data has empty maps for some rows, but mostly with value. Data can be 
 downloaded from:
 https://s3.amazonaws.com/apache-drill/files/complex.json.gz
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ select a.id, a.soa[3].str, 
 b.soa[3].str, a.ooa[1].fl from `complex.json` a inner join `complex.json` b 
 on a.soa[3].str=b.soa[3].str order by a.id limit 10;
 +++++
 | id |   EXPR$1   |   EXPR$2   |   EXPR$3   |
 +++++
 | 1  | here is a string at row 1 | here is a string at row 1 | {} 
 |
 | 2  | here is a string at row 2 | here is a string at row 2 | {} 
 |
 | 3  | here is a string at row 3 | here is a string at row 3 | {} 
 |
 | 4  | here is a string at row 4 | here is a string at row 4 | {} 
 |
 | 5  | here is a string at row 5 | here is a string at row 5 | {} 
 |
 | 6  | here is a string at row 6 | here is a string at row 6 | {} 
 |
 | 7  | here is a string at row 7 | here is a string at row 7 | {} 
 |
 | 8  | here is a string at row 8 | here is a string at row 8 | {} 
 |
 | 9  | here is a string at row 9 | here is a string at row 9 | {} 
 |
 | 10 | here is a string at row 10 | here is a string at row 10 | {}   
   |
 +++++
 {code}
 As you can see from the following query, maps is not empty for most of the 
 row IDs.
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ select a.id, a.ooa[1].fl from 
 `complex.json` a limit 10;
 +++
 | id |   EXPR$1   |
 +++
 | 1  | {f1:1.6789,f2:54331.0} |
 | 2  | {} |
 | 3  | {f1:3.6789,f2:54351.0} |
 | 4  | {f1:4.6789,f2:54361.0} |
 | 5  | {f1:5.6789,f2:54371.0} |
 | 6  | {} |
 | 7  | {f1:7.6789,f2:54391.0} |
 | 8  | {} |
 | 9  | {f1:9.6789,f2:54411.0} |
 | 10 | {f1:10.6789,f2:54421.0} |
 +++
 {code}
 physical plan:
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ explain plan for select a.id, 
 a.soa[3].str, b.soa[3].str, a.ooa[1].fl from `complex.json` a inner join 
 `complex.json` b on a.soa[3].str=b.soa[3].str order by a.id limit 10;
 +++
 |text|json|
 +++
 | 00-00Screen
 00-01  Project(id=[$0], EXPR$1=[$1], EXPR$2=[$2], EXPR$3=[$3])
 00-02SelectionVectorRemover
 00-03  Limit(fetch=[10])
 00-04SingleMergeExchange(sort0=[0 ASC])
 01-01  SelectionVectorRemover
 01-02TopN(limit=[10])
 01-03  HashToRandomExchange(dist0=[[$0]])
 02-01Project(id=[$0], EXPR$1=[$2], EXPR$2=[$5], 
 EXPR$3=[$3])
 02-02  HashJoin(condition=[=($1, $4)], joinType=[inner])
 02-04HashToRandomExchange(dist0=[[$1]])
 03-01  Project(id=[$2], $f4=[ITEM(ITEM($1, 3), 
 'str')], ITEM=[ITEM(ITEM($1, 3), 'str')], ITEM3=[ITEM(ITEM($0, 1), 'fl')])
 03-02Scan(groupscan=[EasyGroupScan 
 [selectionRoot=/drill/testdata/complex_type/json/complex.json, numFiles=1, 
 columns=[`id`, `soa`[3].`str`, `ooa`[1].`fl`], 
 files=[maprfs:/drill/testdata/complex_type/json/complex.json]]])
 02-03Project($f40=[$0], ITEM0=[$1])
 02-05  HashToRandomExchange(dist0=[[$0]])
 04-01Project($f4=[ITEM(ITEM($0, 3), 'str')], 
 ITEM=[ITEM(ITEM($0, 3), 'str')])
 04-02  Scan(groupscan=[EasyGroupScan 
 [selectionRoot=/drill/testdata/complex_type/json/complex.json, numFiles=1, 
 columns=[`soa`[3].`str`], 
 files=[maprfs:/drill/testdata/complex_type/json/complex.json]]])
 {code}



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


[jira] [Commented] (DRILL-1988) join returned maps are all empty

2015-03-30 Thread Chun Chang (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-1988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14387735#comment-14387735
 ] 

Chun Chang commented on DRILL-1988:
---

{code}
0: jdbc:drill:schema=dfs.drillTestDirComplexJ select * from sys.version;
+++-+-++
| commit_id  | commit_message | commit_time | build_email | build_time |
+++-+-++
| 462e50ce9c4b829c2a4bafdeb9763bfba677c726 | DRILL-2575: 
FragmentExecutor.cancel() blasts through state transitions regardless of 
current state | 25.03.2015 @ 21:11:23 PDT
1 row selected (0.054 seconds)
0: jdbc:drill:schema=dfs.drillTestDirComplexJ select a.id, a.soa[3].str, 
b.soa[3].str, a.ooa[1].fl from `complex.json` a inner join `complex.json` b on 
a.soa[3].str=b.soa[3].str order by a.id limit 10;
+++++
| id |   EXPR$1   |   EXPR$2   |   EXPR$3   |
+++++
| 1  | here is a string at row 1 | here is a string at row 1 | 
{f1:1.6789,f2:54331.0} |
| 2  | here is a string at row 2 | here is a string at row 2 | {}   
  |
| 3  | here is a string at row 3 | here is a string at row 3 | 
{f1:3.6789,f2:54351.0} |
| 4  | here is a string at row 4 | here is a string at row 4 | 
{f1:4.6789,f2:54361.0} |
| 5  | here is a string at row 5 | here is a string at row 5 | 
{f1:5.6789,f2:54371.0} |
| 6  | here is a string at row 6 | here is a string at row 6 | {}   
  |
| 7  | here is a string at row 7 | here is a string at row 7 | 
{f1:7.6789,f2:54391.0} |
| 8  | here is a string at row 8 | here is a string at row 8 | {}   
  |
| 9  | here is a string at row 9 | here is a string at row 9 | 
{f1:9.6789,f2:54411.0} |
| 10 | here is a string at row 10 | here is a string at row 10 | 
{f1:10.6789,f2:54421.0} |
+++++
{code}

 join returned maps are all empty
 

 Key: DRILL-1988
 URL: https://issues.apache.org/jira/browse/DRILL-1988
 Project: Apache Drill
  Issue Type: Bug
  Components: Execution - Data Types
Affects Versions: 0.8.0
Reporter: Chun Chang
Assignee: Mehant Baid
Priority: Critical
 Attachments: DRILL-1988.patch


 #Fri Jan 09 20:39:31 EST 2015
 git.commit.id.abbrev=487d98e
 For complex json type, a join query returned all maps with empty value. The 
 actual data has empty maps for some rows, but mostly with value. Data can be 
 downloaded from:
 https://s3.amazonaws.com/apache-drill/files/complex.json.gz
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ select a.id, a.soa[3].str, 
 b.soa[3].str, a.ooa[1].fl from `complex.json` a inner join `complex.json` b 
 on a.soa[3].str=b.soa[3].str order by a.id limit 10;
 +++++
 | id |   EXPR$1   |   EXPR$2   |   EXPR$3   |
 +++++
 | 1  | here is a string at row 1 | here is a string at row 1 | {} 
 |
 | 2  | here is a string at row 2 | here is a string at row 2 | {} 
 |
 | 3  | here is a string at row 3 | here is a string at row 3 | {} 
 |
 | 4  | here is a string at row 4 | here is a string at row 4 | {} 
 |
 | 5  | here is a string at row 5 | here is a string at row 5 | {} 
 |
 | 6  | here is a string at row 6 | here is a string at row 6 | {} 
 |
 | 7  | here is a string at row 7 | here is a string at row 7 | {} 
 |
 | 8  | here is a string at row 8 | here is a string at row 8 | {} 
 |
 | 9  | here is a string at row 9 | here is a string at row 9 | {} 
 |
 | 10 | here is a string at row 10 | here is a string at row 10 | {}   
   |
 +++++
 {code}
 As you can see from the following query, maps is not empty for most of the 
 row IDs.
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ select a.id, a.ooa[1].fl from 
 `complex.json` a limit 10;
 +++
 | id |   EXPR$1   |
 +++
 | 1  | {f1:1.6789,f2:54331.0} |
 | 2  | {} |
 | 3  | {f1:3.6789,f2:54351.0} |
 | 4  | {f1:4.6789,f2:54361.0} |
 | 5  | {f1:5.6789,f2:54371.0} |
 | 6  | {} |
 | 7  | {f1:7.6789,f2:54391.0} |
 | 8  | {} |
 | 9  | {f1:9.6789,f2:54411.0} |
 | 10 | {f1:10.6789,f2:54421.0} |
 +++
 {code}
 physical plan:
 {code}
 0: jdbc:drill:schema=dfs.drillTestDirComplexJ explain plan for select a.id, 
 a.soa[3].str, 

[jira] [Assigned] (DRILL-1142) Add Jenkins build status to GitHub README

2015-03-30 Thread Sudheesh Katkam (JIRA)

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

Sudheesh Katkam reassigned DRILL-1142:
--

Assignee: Sudheesh Katkam  (was: Jacques Nadeau)

 Add Jenkins build status to GitHub README
 -

 Key: DRILL-1142
 URL: https://issues.apache.org/jira/browse/DRILL-1142
 Project: Apache Drill
  Issue Type: Improvement
  Components: Tools, Build  Test
Reporter: Sudheesh Katkam
Assignee: Sudheesh Katkam
Priority: Minor
 Fix For: Future


 I do not have the link to the embeddable status (no permission). 
 Here's how-to: 
 https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin



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


[jira] [Updated] (DRILL-2621) When view is created on top of parquet file, underlying data types should be automatically converted to SQL type

2015-03-30 Thread Victoria Markman (JIRA)

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

Victoria Markman updated DRILL-2621:

Description: 
Since parquet types are known to us, we need to make sure to expose these types 
without making user explicitly cast each column.

create view v1 as select c_integer from j1;  produces view with column of ANY 
data type.

{code}
0: jdbc:drill:schema=dfs describe v1;
+-++-+
| COLUMN_NAME | DATA_TYPE  | IS_NULLABLE |
+-++-+
| c_integer   | ANY| YES |
+-++-+
1 row selected (0.091 seconds)
{code}

I think we need to extend CREATE VIEW document for GA explaining this fact. 

  was:
Since parquet types are known to us, we need to make sure to expose these types 
without making user explicitly cast each column.

create view v1 as select c_integer from j1;  produces view with column of ANY 
data type.

{code}
0: jdbc:drill:schema=dfs describe v1;
+-++-+
| COLUMN_NAME | DATA_TYPE  | IS_NULLABLE |
+-++-+
| c_integer   | ANY| YES |
+-++-+
1 row selected (0.091 seconds)
{code}

I think we need to expend CREATE VIEW document for GA explaining this fact. 


 When view is created on top of parquet file, underlying data types should be 
 automatically converted to SQL type
 

 Key: DRILL-2621
 URL: https://issues.apache.org/jira/browse/DRILL-2621
 Project: Apache Drill
  Issue Type: New Feature
Reporter: Victoria Markman

 Since parquet types are known to us, we need to make sure to expose these 
 types without making user explicitly cast each column.
 create view v1 as select c_integer from j1;  produces view with column of 
 ANY data type.
 {code}
 0: jdbc:drill:schema=dfs describe v1;
 +-++-+
 | COLUMN_NAME | DATA_TYPE  | IS_NULLABLE |
 +-++-+
 | c_integer   | ANY| YES |
 +-++-+
 1 row selected (0.091 seconds)
 {code}
 I think we need to extend CREATE VIEW document for GA explaining this fact. 



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


[jira] [Commented] (DRILL-2616) strings loaded incorrectly from parquet files

2015-03-30 Thread Jason Altekruse (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14386907#comment-14386907
 ] 

Jason Altekruse commented on DRILL-2616:


Changed priority to critical because of wrong results.

 strings loaded incorrectly from parquet files
 -

 Key: DRILL-2616
 URL: https://issues.apache.org/jira/browse/DRILL-2616
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.7.0
Reporter: Jack Crawford
Assignee: Jason Altekruse
Priority: Critical
  Labels: parquet

 When loading string columns from parquet data sources, some rows have their 
 string values replaced with the value from other rows.
 Example parquet for which the problem occurs:
 https://drive.google.com/file/d/0B2JGBdceNMxdeFlJcW1FUElOdXc/view?usp=sharing



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


[jira] [Assigned] (DRILL-2616) strings loaded incorrectly from parquet files

2015-03-30 Thread Jason Altekruse (JIRA)

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

Jason Altekruse reassigned DRILL-2616:
--

Assignee: Jason Altekruse

 strings loaded incorrectly from parquet files
 -

 Key: DRILL-2616
 URL: https://issues.apache.org/jira/browse/DRILL-2616
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.7.0
Reporter: Jack Crawford
Assignee: Jason Altekruse
  Labels: parquet

 When loading string columns from parquet data sources, some rows have their 
 string values replaced with the value from other rows.
 Example parquet for which the problem occurs:
 https://drive.google.com/file/d/0B2JGBdceNMxdeFlJcW1FUElOdXc/view?usp=sharing



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


[jira] [Commented] (DRILL-2616) strings loaded incorrectly from parquet files

2015-03-30 Thread Jason Altekruse (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14386904#comment-14386904
 ] 

Jason Altekruse commented on DRILL-2616:


Does a select star produce this problem for you? I tried reading the file both 
with the standard parquet java implementation tools 
(https://github.com/apache/incubator-parquet-mr/tree/master/parquet-tools) and 
Drill and it didn't look like any of the data was out of place from inspecting 
the data in each column visually. Could you post a query along with the 
incorrect output you are seeing?

 strings loaded incorrectly from parquet files
 -

 Key: DRILL-2616
 URL: https://issues.apache.org/jira/browse/DRILL-2616
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 0.7.0
Reporter: Jack Crawford
  Labels: parquet

 When loading string columns from parquet data sources, some rows have their 
 string values replaced with the value from other rows.
 Example parquet for which the problem occurs:
 https://drive.google.com/file/d/0B2JGBdceNMxdeFlJcW1FUElOdXc/view?usp=sharing



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


[jira] [Created] (DRILL-2622) C++ Client valgrind errors in sync API

2015-03-30 Thread Parth Chandra (JIRA)
Parth Chandra created DRILL-2622:


 Summary: C++ Client valgrind errors in sync API
 Key: DRILL-2622
 URL: https://issues.apache.org/jira/browse/DRILL-2622
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - C++
Reporter: Parth Chandra
Assignee: Parth Chandra
 Fix For: Future, 1.1.0


The synchronous version of the C++ cloient API shows some valgrind errors in 
the case with many parallel queries and cancel requests.
This is caused by a synchronization issue where it appears 
m_pDrillClientqueryResult member is being accessed after being deleted. 





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


[jira] [Updated] (DRILL-2622) C++ Client valgrind errors in sync API

2015-03-30 Thread Parth Chandra (JIRA)

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

Parth Chandra updated DRILL-2622:
-
Attachment: qs-vg-log-sync-true-Q_4-1-20150327-165217.xml

Valgrind output attached.

 C++ Client valgrind errors in sync API
 --

 Key: DRILL-2622
 URL: https://issues.apache.org/jira/browse/DRILL-2622
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - C++
Reporter: Parth Chandra
Assignee: Parth Chandra
 Fix For: Future, 1.1.0

 Attachments: qs-vg-log-sync-true-Q_4-1-20150327-165217.xml


 The synchronous version of the C++ cloient API shows some valgrind errors in 
 the case with many parallel queries and cancel requests.
 This is caused by a synchronization issue where it appears 
 m_pDrillClientqueryResult member is being accessed after being deleted. 



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


[jira] [Created] (DRILL-2623) Expose only productized system/session configuration parameters

2015-03-30 Thread Victoria Markman (JIRA)
Victoria Markman created DRILL-2623:
---

 Summary: Expose only productized system/session configuration 
parameters
 Key: DRILL-2623
 URL: https://issues.apache.org/jira/browse/DRILL-2623
 Project: Apache Drill
  Issue Type: New Feature
Reporter: Victoria Markman
Assignee: Jacques Nadeau


This is an enhancement request to expose only well tested and useful parameters 
to the end user.
For example, we don't want to allow all users to change internal configuration 
parameters, like exec.min_hash_table_size or enable features that are not ready 
for prime time ( store.parquet.enable_dictionary_encoding for example). 
However, sometimes in order to achieve optimal performace some configuration 
fiddling will be absolutely necessary. We can allow different users with 
different privileges have an ability to change settings.

One of the proposals to achieve this is to create a view on top of sys.options 
that will be created on drills start up and have privileged access 
a) to the information in the view - show only things that particular user is 
allowed to see 
b) have privileged access to ALTER SYSTEM/SESSION commands.



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