[jira] [Updated] (DRILL-6800) Simplify packaging of Jdbc-all jar

2019-02-21 Thread Kunal Khatua (JIRA)


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

Kunal Khatua updated DRILL-6800:

Fix Version/s: 2.0.0
   Future

> Simplify packaging of Jdbc-all jar
> --
>
> Key: DRILL-6800
> URL: https://issues.apache.org/jira/browse/DRILL-6800
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Client - JDBC
>Reporter: Sorabh Hamirwasia
>Priority: Major
> Fix For: Future, 2.0.0
>
>
> Today Jdbc-all package is created using drill-java-exec as dependency and 
> then excluding unnecessary dependency. Also there is size check for jdbc-all 
> jar to avoid including any unwanted dependency. But configured size has 
> increased over time and doesn't really provide a good mechanism to enforce 
> small footprint of jdbc-all jar. Following are some recommendation to improve 
> it:
>  1) Divide java-exec module into separate client/server and common module
>  2) Have size check for client artifact only.
>  3) Update jdbc-all pom to include newly created client artifact and jdbc 
> driver artifact. 
>  * Have multiple profiles to include and exclude any profile specific 
> dependency. For 
>  example MapR profile will exclude hadoop dependency whereas apache profile 
> will 
>  include it.
>  * We can create 2 artifacts for jdbc-all: one with and other without (for 
> smaller jar size) Hadoop dependencies.
> 4) Update client side protobuf to not have server side definitions like 
> QueryProfile / CoreOperatorType etc



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


[jira] [Closed] (DRILL-3931) Upgrade fileclient dependency in mapr profile

2019-02-21 Thread Kunal Khatua (JIRA)


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

Kunal Khatua closed DRILL-3931.
---
Resolution: Auto Closed

> Upgrade fileclient dependency in mapr profile 
> --
>
> Key: DRILL-3931
> URL: https://issues.apache.org/jira/browse/DRILL-3931
> Project: Apache Drill
>  Issue Type: Improvement
>Reporter: Venki Korukanti
>Assignee: Venki Korukanti
>Priority: Major
> Fix For: Future
>
>
> Current dependency version is 4.1.0-mapr. There is a critical fix that went 
> into 4.1.0.34989-mapr. Upgrade the dependency version to 4.1.0.34989-mapr. 
> Only pom file changes.



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


[jira] [Commented] (DRILL-6707) Query with 10-way merge join fails with IllegalArgumentException

2019-02-21 Thread Abhishek Girish (JIRA)


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

Abhishek Girish commented on DRILL-6707:


Discussed with [~ben-zvi]. I'll work on a repro when verifying the fix. 

> Query with 10-way merge join fails with IllegalArgumentException
> 
>
> Key: DRILL-6707
> URL: https://issues.apache.org/jira/browse/DRILL-6707
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Relational Operators, Query Planning  
> Optimization
>Affects Versions: 1.15.0
>Reporter: Abhishek Girish
>Assignee: Boaz Ben-Zvi
>Priority: Major
> Attachments: drillbit.zip
>
>
> Query
> {code}
> SELECT   *
> FROM si.tpch_sf1_parquet.customer C,
>  si.tpch_sf1_parquet.orders O,
>  si.tpch_sf1_parquet.lineitem L,
>  si.tpch_sf1_parquet.part P,
>  si.tpch_sf1_parquet.supplier S,
>  si.tpch_sf1_parquet.partsupp PS,
>  si.tpch_sf1_parquet.nation S_N,
>  si.tpch_sf1_parquet.region S_R,
>  si.tpch_sf1_parquet.nation C_N,
>  si.tpch_sf1_parquet.region C_R
> WHEREC.C_CUSTKEY = O.O_CUSTKEY 
> AND  O.O_ORDERKEY = L.L_ORDERKEY
> AND  L.L_PARTKEY = P.P_PARTKEY
> AND  L.L_SUPPKEY = S.S_SUPPKEY
> AND  P.P_PARTKEY = PS.PS_PARTKEY
> AND  P.P_SUPPKEY = PS.PS_SUPPKEY
> AND  S.S_NATIONKEY = S_N.N_NATIONKEY
> AND  S_N.N_REGIONKEY = S_R.R_REGIONKEY
> AND  C.C_NATIONKEY = C_N.N_NATIONKEY
> AND  C_N.N_REGIONKEY = C_R.R_REGIONKEY
> {code}
> Plan
> {code}
> 00-00Screen : rowType = RecordType(DYNAMIC_STAR **, DYNAMIC_STAR **0, 
> DYNAMIC_STAR **1, DYNAMIC_STAR **2, DYNAMIC_STAR **3, DYNAMIC_STAR **4, 
> DYNAMIC_STAR **5, DYNAMIC_STAR **6, DYNAMIC_STAR **7, DYNAMIC_STAR **8): 
> rowcount = 6001215.0, cumulative cost = {1.151087965E8 rows, 
> 2.66710261332395E9 cpu, 3.198503E7 io, 5.172844544E11 network, 1.87681384E9 
> memory}, id = 419943
> 00-01  ProjectAllowDup(**=[$0], **0=[$1], **1=[$2], **2=[$3], **3=[$4], 
> **4=[$5], **5=[$6], **6=[$7], **7=[$8], **8=[$9]) : rowType = 
> RecordType(DYNAMIC_STAR **, DYNAMIC_STAR **0, DYNAMIC_STAR **1, DYNAMIC_STAR 
> **2, DYNAMIC_STAR **3, DYNAMIC_STAR **4, DYNAMIC_STAR **5, DYNAMIC_STAR **6, 
> DYNAMIC_STAR **7, DYNAMIC_STAR **8): rowcount = 6001215.0, cumulative cost = 
> {1.14508675E8 rows, 2.66650249182395E9 cpu, 3.198503E7 io, 5.172844544E11 
> network, 1.87681384E9 memory}, id = 419942
> 00-02UnionExchange : rowType = RecordType(DYNAMIC_STAR T19¦¦**, 
> DYNAMIC_STAR T18¦¦**, DYNAMIC_STAR T12¦¦**, DYNAMIC_STAR T17¦¦**, 
> DYNAMIC_STAR T13¦¦**, DYNAMIC_STAR T16¦¦**, DYNAMIC_STAR T14¦¦**, 
> DYNAMIC_STAR T15¦¦**, DYNAMIC_STAR T20¦¦**, DYNAMIC_STAR T21¦¦**): rowcount = 
> 6001215.0, cumulative cost = {1.0850746E8 rows, 2.60649034182395E9 cpu, 
> 3.198503E7 io, 5.172844544E11 network, 1.87681384E9 memory}, id = 419941
> 01-01  Project(T19¦¦**=[$0], T18¦¦**=[$3], T12¦¦**=[$6], 
> T17¦¦**=[$10], T13¦¦**=[$13], T16¦¦**=[$16], T14¦¦**=[$19], T15¦¦**=[$22], 
> T20¦¦**=[$24], T21¦¦**=[$27]) : rowType = RecordType(DYNAMIC_STAR T19¦¦**, 
> DYNAMIC_STAR T18¦¦**, DYNAMIC_STAR T12¦¦**, DYNAMIC_STAR T17¦¦**, 
> DYNAMIC_STAR T13¦¦**, DYNAMIC_STAR T16¦¦**, DYNAMIC_STAR T14¦¦**, 
> DYNAMIC_STAR T15¦¦**, DYNAMIC_STAR T20¦¦**, DYNAMIC_STAR T21¦¦**): rowcount = 
> 6001215.0, cumulative cost = {1.02506245E8 rows, 2.55848062182395E9 cpu, 
> 3.198503E7 io, 2.71474688E11 network, 1.87681384E9 memory}, id = 419940
> 01-02Project(T19¦¦**=[$21], C_CUSTKEY=[$22], C_NATIONKEY=[$23], 
> T18¦¦**=[$18], O_CUSTKEY=[$19], O_ORDERKEY=[$20], T12¦¦**=[$0], 
> L_ORDERKEY=[$1], L_PARTKEY=[$2], L_SUPPKEY=[$3], T17¦¦**=[$15], 
> P_PARTKEY=[$16], P_SUPPKEY=[$17], T13¦¦**=[$4], S_SUPPKEY=[$5], 
> S_NATIONKEY=[$6], T16¦¦**=[$12], PS_PARTKEY=[$13], PS_SUPPKEY=[$14], 
> T14¦¦**=[$7], N_NATIONKEY=[$8], N_REGIONKEY=[$9], T15¦¦**=[$10], 
> R_REGIONKEY=[$11], T20¦¦**=[$24], N_NATIONKEY0=[$25], N_REGIONKEY0=[$26], 
> T21¦¦**=[$27], R_REGIONKEY0=[$28]) : rowType = RecordType(DYNAMIC_STAR 
> T19¦¦**, ANY C_CUSTKEY, ANY C_NATIONKEY, DYNAMIC_STAR T18¦¦**, ANY O_CUSTKEY, 
> ANY O_ORDERKEY, DYNAMIC_STAR T12¦¦**, ANY L_ORDERKEY, ANY L_PARTKEY, ANY 
> L_SUPPKEY, DYNAMIC_STAR T17¦¦**, ANY P_PARTKEY, ANY P_SUPPKEY, DYNAMIC_STAR 
> T13¦¦**, ANY S_SUPPKEY, ANY S_NATIONKEY, DYNAMIC_STAR T16¦¦**, ANY 
> PS_PARTKEY, ANY PS_SUPPKEY, DYNAMIC_STAR T14¦¦**, ANY N_NATIONKEY, ANY 
> N_REGIONKEY, DYNAMIC_STAR T15¦¦**, ANY R_REGIONKEY, DYNAMIC_STAR T20¦¦**, ANY 
> N_NATIONKEY0, ANY N_REGIONKEY0, DYNAMIC_STAR T21¦¦**, ANY R_REGIONKEY0): 
> rowcount = 6001215.0, cumulative cost = {9.650503E7 rows, 2.49846847182395E9 
> cpu, 3.198503E7 io, 2.71474688E11 network, 1.87681384E9 memory}, id = 419939
> 01-03  

[jira] [Updated] (DRILL-7036) Improve UI for alert and error messages

2019-02-21 Thread Kunal Khatua (JIRA)


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

Kunal Khatua updated DRILL-7036:

Labels: ready-to-commit user-experience  (was: user-experience)

> Improve UI for alert and error messages
> ---
>
> Key: DRILL-7036
> URL: https://issues.apache.org/jira/browse/DRILL-7036
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Web Server
>Affects Versions: 1.15.0
>Reporter: Kunal Khatua
>Assignee: Kunal Khatua
>Priority: Major
>  Labels: ready-to-commit, user-experience
> Fix For: 1.16.0
>
>
> Currently, the WebUI has a rather inconsistent user experience when it comes 
> to dealing with errors and exceptions.
> This Jira proposes standardizing that to a cleaner interface by leveraging 
> Bootstraps modals and panels for publishing the messages in a presentable 
> format



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


[jira] [Created] (DRILL-7049) REST API returns the toString of byte arrays (VARBINARY types)

2019-02-21 Thread jean-claude (JIRA)
jean-claude created DRILL-7049:
--

 Summary: REST API returns the toString of byte arrays (VARBINARY 
types)
 Key: DRILL-7049
 URL: https://issues.apache.org/jira/browse/DRILL-7049
 Project: Apache Drill
  Issue Type: Bug
Reporter: jean-claude






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


[jira] [Updated] (DRILL-7048) Implement JDBC Statement.setMaxRows()

2019-02-21 Thread Kunal Khatua (JIRA)


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

Kunal Khatua updated DRILL-7048:

Issue Type: New Feature  (was: Sub-task)
Parent: (was: DRILL-6960)

> Implement JDBC Statement.setMaxRows() 
> --
>
> Key: DRILL-7048
> URL: https://issues.apache.org/jira/browse/DRILL-7048
> Project: Apache Drill
>  Issue Type: New Feature
>  Components: Client - JDBC, Query Planning  Optimization
>Affects Versions: 1.15.0
>Reporter: Kunal Khatua
>Assignee: Kunal Khatua
>Priority: Major
> Fix For: 1.16.0
>
>
> With DRILL-6960, the webUI will get an auto-limit on the number of results 
> fetched.
> Since more of the plumbing is already there, it makes sense to provide the 
> same for the JDBC client.
> In addition, it would be nice if the Server can have a pre-defined value as 
> well (default 0; i.e. no limit) so that an _admin_ would be able to ensure a 
> max limit on the resultset size as well.



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


[jira] [Created] (DRILL-7048) Implement JDBC Statement.setMaxRows()

2019-02-21 Thread Kunal Khatua (JIRA)
Kunal Khatua created DRILL-7048:
---

 Summary: Implement JDBC Statement.setMaxRows() 
 Key: DRILL-7048
 URL: https://issues.apache.org/jira/browse/DRILL-7048
 Project: Apache Drill
  Issue Type: Sub-task
  Components: Client - JDBC, Query Planning  Optimization
Affects Versions: 1.15.0
Reporter: Kunal Khatua
Assignee: Kunal Khatua
 Fix For: 1.16.0


With DRILL-6960, the webUI will get an auto-limit on the number of results 
fetched.

Since more of the plumbing is already there, it makes sense to provide the same 
for the JDBC client.

In addition, it would be nice if the Server can have a pre-defined value as 
well (default 0; i.e. no limit) so that an _admin_ would be able to ensure a 
max limit on the resultset size as well.



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


[jira] [Updated] (DRILL-7036) Improve UI for alert and error messages

2019-02-21 Thread Kunal Khatua (JIRA)


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

Kunal Khatua updated DRILL-7036:

Reviewer: Sorabh Hamirwasia

> Improve UI for alert and error messages
> ---
>
> Key: DRILL-7036
> URL: https://issues.apache.org/jira/browse/DRILL-7036
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Web Server
>Affects Versions: 1.15.0
>Reporter: Kunal Khatua
>Assignee: Kunal Khatua
>Priority: Major
>  Labels: user-experience
> Fix For: 1.16.0
>
>
> Currently, the WebUI has a rather inconsistent user experience when it comes 
> to dealing with errors and exceptions.
> This Jira proposes standardizing that to a cleaner interface by leveraging 
> Bootstraps modals and panels for publishing the messages in a presentable 
> format



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


[jira] [Updated] (DRILL-6642) Update protocol-buffers version

2019-02-21 Thread Volodymyr Vysotskyi (JIRA)


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

Volodymyr Vysotskyi updated DRILL-6642:
---
Reviewer: Volodymyr Vysotskyi

> Update protocol-buffers version
> ---
>
> Key: DRILL-6642
> URL: https://issues.apache.org/jira/browse/DRILL-6642
> Project: Apache Drill
>  Issue Type: Task
>  Components: Tools, Build  Test
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Anton Gozhiy
>Priority: Major
> Fix For: 1.16.0
>
>
> Currently Drill uses 2.5.0 {{protocol-buffers}} version.
>  The last version is 3.6.0 in maven repo: 
> [https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java]
> The new version has a lot of useful enhancements, which can be used in Drill.
>  One of them is using {{UNRECOGNIZED Enum NullValue}}, which can help to 
> handle them in place of null values for {{ProtocolMessageEnum}} - DRILL-6639. 
>  Looks like the NullValue can be used instead of null returned from 
> {{valueOf()}} (_or {{forNumber()}}, since {{valueOf()}} is deprecated in the 
> newer protobuf version_):
>  
> [https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/NullValue]



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


[jira] [Commented] (DRILL-7045) UDF string_binary java.lang.IndexOutOfBoundsException:

2019-02-21 Thread jean-claude (JIRA)


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

jean-claude commented on DRILL-7045:


Ready. I made a pull request




> UDF string_binary java.lang.IndexOutOfBoundsException:
> --
>
> Key: DRILL-7045
> URL: https://issues.apache.org/jira/browse/DRILL-7045
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.15.0
>Reporter: jean-claude
>Assignee: jean-claude
>Priority: Minor
> Fix For: 1.16.0
>
>
> Given a large field like
>  
> cat input.json
> { "col0": 
> 

[jira] [Updated] (DRILL-6734) Unable to find value vector of path `EXPR$0`, returning null instance.

2019-02-21 Thread Vitalii Diravka (JIRA)


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

Vitalii Diravka updated DRILL-6734:
---
Reviewer: Vitalii Diravka

> Unable to find value vector of path `EXPR$0`, returning null instance.
> --
>
> Key: DRILL-6734
> URL: https://issues.apache.org/jira/browse/DRILL-6734
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Storage - JDBC
>Affects Versions: 1.14.0
> Environment: Apache Drill version 1.14.0 running on CentOS 7.0.1406.
> MySQL version 5.5.43 running on CentOS 6.4.
> MySQL connector/j version 5.1.44.
>Reporter: Cheolgoo Kang
>Assignee: Volodymyr Vysotskyi
>Priority: Major
> Fix For: 1.16.0
>
>
> Expressions in a query against JDBC without alias returns null as their value.
> I was trying to run this sample query to retrieve count of a MySQL table 
> connected to Drill through the RDBMS storage plugin:
> {code}
> select count(*) from ngmysql.information_schema.`PROCESSLIST`
> {code}
> which returns
> {code}
> EXPR$0   
> -
>
> {code}
> and you could find this warning from the log:
> {quote}
> Unable to find value vector of path `EXPR$0`, returning null instance.
> {quote}
> But it works fine if you give an alias to the expression like this:
> {code}
> select count(*) as num from ngmysql.information_schema.`PROCESSLIST`;
> {code}
> which would end up giving this:
> {code}
> num   
> --
> 16
> {code}
> Here's the portion of logs regarding the sample query:
> {code}
> 2018-09-07 21:44:52,709 [246d0eaa-f8e6-9536-af0c-1df3932cce9f:foreman] INFO  
> o.a.drill.exec.work.foreman.Foreman - Query text for query id 
> 246d0eaa-f8e6-9536-af0c-1df3932cce9f: select count(*) from 
> ngmysql.information_schema.`PROCESSLIST`
> 2018-09-07 21:44:52,752 [246d0eaa-f8e6-9536-af0c-1df3932cce9f:frag:0:0] INFO  
> o.a.d.e.w.fragment.FragmentExecutor - 
> 246d0eaa-f8e6-9536-af0c-1df3932cce9f:0:0: State change requested 
> AWAITING_ALLOCATION --> RUNNING
> 2018-09-07 21:44:52,753 [246d0eaa-f8e6-9536-af0c-1df3932cce9f:frag:0:0] INFO  
> o.a.d.e.w.f.FragmentStatusReporter - 
> 246d0eaa-f8e6-9536-af0c-1df3932cce9f:0:0: State to report: RUNNING
> 2018-09-07 21:44:52,756 [246d0eaa-f8e6-9536-af0c-1df3932cce9f:frag:0:0] WARN  
> o.a.d.e.e.ExpressionTreeMaterializer - Unable to find value vector of path 
> `EXPR$0`, returning null instance.
> 2018-09-07 21:44:52,759 [246d0eaa-f8e6-9536-af0c-1df3932cce9f:frag:0:0] INFO  
> o.a.d.e.w.fragment.FragmentExecutor - 
> 246d0eaa-f8e6-9536-af0c-1df3932cce9f:0:0: State change requested RUNNING --> 
> FINISHED
> 2018-09-07 21:44:52,760 [246d0eaa-f8e6-9536-af0c-1df3932cce9f:frag:0:0] INFO  
> o.a.d.e.w.f.FragmentStatusReporter - 
> 246d0eaa-f8e6-9536-af0c-1df3932cce9f:0:0: State to report: FINISHED
> {code}



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


[jira] [Updated] (DRILL-7045) UDF string_binary java.lang.IndexOutOfBoundsException:

2019-02-21 Thread Pritesh Maker (JIRA)


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

Pritesh Maker updated DRILL-7045:
-
Fix Version/s: 1.16.0

> UDF string_binary java.lang.IndexOutOfBoundsException:
> --
>
> Key: DRILL-7045
> URL: https://issues.apache.org/jira/browse/DRILL-7045
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.15.0
>Reporter: jean-claude
>Priority: Minor
> Fix For: 1.16.0
>
>
> Given a large field like
>  
> cat input.json
> { "col0": 
> 

[jira] [Commented] (DRILL-7045) UDF string_binary java.lang.IndexOutOfBoundsException:

2019-02-21 Thread Pritesh Maker (JIRA)


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

Pritesh Maker commented on DRILL-7045:
--

[~jccote] thanks for the contribution - do let us know when it's ready for 
review.

> UDF string_binary java.lang.IndexOutOfBoundsException:
> --
>
> Key: DRILL-7045
> URL: https://issues.apache.org/jira/browse/DRILL-7045
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.15.0
>Reporter: jean-claude
>Assignee: jean-claude
>Priority: Minor
> Fix For: 1.16.0
>
>
> Given a large field like
>  
> cat input.json
> { "col0": 
> 

[jira] [Assigned] (DRILL-7045) UDF string_binary java.lang.IndexOutOfBoundsException:

2019-02-21 Thread Pritesh Maker (JIRA)


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

Pritesh Maker reassigned DRILL-7045:


Assignee: jean-claude

> UDF string_binary java.lang.IndexOutOfBoundsException:
> --
>
> Key: DRILL-7045
> URL: https://issues.apache.org/jira/browse/DRILL-7045
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Functions - Drill
>Affects Versions: 1.15.0
>Reporter: jean-claude
>Assignee: jean-claude
>Priority: Minor
> Fix For: 1.16.0
>
>
> Given a large field like
>  
> cat input.json
> { "col0": 
> 

[jira] [Created] (DRILL-7047) Drill C++ Client crash due to Dangling stack ptr to sasl_callback_t

2019-02-21 Thread Rob Wu (JIRA)
Rob Wu created DRILL-7047:
-

 Summary: Drill C++ Client crash due to Dangling stack ptr to 
sasl_callback_t 
 Key: DRILL-7047
 URL: https://issues.apache.org/jira/browse/DRILL-7047
 Project: Apache Drill
  Issue Type: Bug
  Components: Client - C++
Affects Versions: 1.14.0
Reporter: Rob Wu
Assignee: Debraj Ray
 Fix For: 1.16.0


The sasl_client_new does not copy its callback argument array, resulting in a 
pointer to transient stack memory. 

 

[~debraj92] will be supplying a patch to resolve this issue. This patch moves 
the callbacks array into the member variable m_callbacks which has the same 
lifetime as the sasl impl instance and thus will remain valid until the end of 
life.

 

Trace:
{code:java}
#0 0x0080 in ?? ()
#1 0xb38c04bc in _sasl_canon_user ()
from libdrillClient.so
#2 0xb38c0611 in _sasl_canon_user_lookup ()
from libdrillClient.so
#3 0xb2c0824e in gssapi_client_mech_step () from /usr/lib/sasl2/libgssapiv2.so
#4 0xb38ad244 in sasl_client_step ()
from libdrillClient.so
#5 0xb37fddde in Drill::SaslAuthenticatorImpl::step(exec::shared::SaslMessage 
const&, exec::shared::SaslMessage&) const ()
from libdrillClient.so
#6 0xb37bdf16 in 
Drill::DrillClientImpl::processSaslChallenge(Drill::AllocatedBuffer*, 
Drill::rpc::InBoundRpcMessage const&) ()
from libdrillClient.so
#7 0xb37bfa17 in Drill::DrillClientImpl::handleRead(unsigned char*, 
boost_sb::system::error_code const&, unsigned int) ()
from libdrillClient.so
#8 0xb37c0955 in 
boost_sb::detail::function::void_function_obj_invoker2, 
boost_sb::_bi::list4, 
boost_sb::_bi::value, boost_sb::arg<1> (*)(), boost_sb::arg<2> 
(*)()> >, void, boost_sb::system::error_code const&, unsigned 
int>::invoke(boost_sb::detail::function::function_buffer&, 
boost_sb::system::error_code const&, unsigned int) ()
from libdrillClient.so
#9 0xb378f17d in boost_sb::function2::operator()(boost_sb::system::error_code const&, unsigned int) 
const
() from libdrillClient.so
#10 0xb3799bc8 in boost_sb::asio::detail::read_op 
>::operator()(boost_sb::system::error_code const&, unsigned int, int) ()
from libdrillClient.so
#11 0xb379a1c3 in 
boost_sb::asio::detail::reactive_socket_recv_op > >::do_complete(void*, 
boost_sb::asio::detail::scheduler_operation*, boost_sb::system::error_code 
const&, unsigned int) ()
from libdrillClient.so
#12 0xb3788fb8 in 
boost_sb::asio::detail::epoll_reactor::descriptor_state::do_complete(void*, 
boost_sb::asio::detail::scheduler_operation*, boost_sb::system::error_code 
const&, unsigned int) ()
from libdrillClient.so
#13 0xb3791948 in boost_sb::asio::io_context::run() ()
from libdrillClient.so
#14 0xb37c0e67 in boost_sb::detail::thread_data, 
boost_sb::_bi::list1 > > 
>::run() ()
from libdrillClient.so
#15 0xb3825f5a in thread_proxy ()
from libdrillClient.so
#16 0xb6730b3c in start_thread () from /lib/libpthread.so.0
#17 0xb64db44e in clone () from /lib/libc.so.6
{code}



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