[jira] [Updated] (HIVE-21950) CBO complicates execution plan of queries with SUBSTR function in EXISTS clause

2019-07-03 Thread Murshid Chalaev (JIRA)


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

Murshid Chalaev updated HIVE-21950:
---
Summary: CBO complicates execution plan of queries with SUBSTR function in 
EXISTS clause  (was: Optimizer complicates execution plan of queries with 
SUBSTR function in EXISTS clause)

> CBO complicates execution plan of queries with SUBSTR function in EXISTS 
> clause
> ---
>
> Key: HIVE-21950
> URL: https://issues.apache.org/jira/browse/HIVE-21950
> Project: Hive
>  Issue Type: Bug
>Affects Versions: 2.3.0, 3.1.1
>Reporter: Murshid Chalaev
>Priority: Minor
> Attachments: disabled_CBO.txt, enabled_CBO.txt
>
>
> Queries with SUBSTR function in EXISTS clause have much more complicated 
> execution plan in Hive-2.3 with enabled CBO then with disabled. A query below 
> has 8 stages which submit 4 MR jobs in Hive-2.3 when CBO is enabled, while 
> with disabled it has 4 stages and submits 1 MR job.
>  *STEPS TO REPRODUCE:*
> {code:java}
> CREATE TABLE i1122 (id STRING);
> INSERT INTO i1122 VALUES (1),(1001); 
> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );{code}
> *ACTUAL RESULT:*
> Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
> Hive-1.2 with enabled CBO):
> {code:java}
> hive> SET hive.cbo.enable=false;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-4 is a root stage
>   Stage-3 depends on stages: Stage-4
>   Stage-0 depends on stages: Stage-3
> STAGE PLANS:
> ...
> {code}
> Explain plan in Hive-2.3 with enabled CBO:
> {code:java}
> hive> SET hive.cbo.enable=true;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-3 is a root stage
>   Stage-8 depends on stages: Stage-3
>   Stage-6 depends on stages: Stage-8
>   Stage-5 depends on stages: Stage-6 , consists of Stage-7, Stage-1
>   Stage-7 has a backup stage: Stage-1
>   Stage-4 depends on stages: Stage-7
>   Stage-1
>   Stage-0 depends on stages: Stage-4, Stage-1
> STAGE PLANS:
> ...
> {code}
> Full explain plans you can find in attachment



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


[jira] [Updated] (HIVE-21950) Optimizer complicates execution plan of queries with SUBSTR function in EXISTS clause

2019-07-03 Thread Murshid Chalaev (JIRA)


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

Murshid Chalaev updated HIVE-21950:
---
Description: 
Queries with SUBSTR function in EXISTS clause have much more complicated 
execution plan in Hive-2.3 with enabled CBO then with disabled. A query below 
has 8 stages which submit 4 MR jobs in Hive-2.3 when CBO is enabled, while with 
disabled it has 4 stages and submits 1 MR job.

 *STEPS TO REPRODUCE:*
{code:java}
CREATE TABLE i1122 (id STRING);
INSERT INTO i1122 VALUES (1),(1001); 

EXPLAIN
SELECT *
FROM i1122 AS t1
WHERE EXISTS (
SELECT 1
FROM i1122 AS t2
WHERE t2.id = substr(t1.id,4)
);{code}

*ACTUAL RESULT:*
Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
Hive-1.2 with enabled CBO):
{code:java}
hive> SET hive.cbo.enable=false;
hive> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );
OK
STAGE DEPENDENCIES:
  Stage-4 is a root stage
  Stage-3 depends on stages: Stage-4
  Stage-0 depends on stages: Stage-3

STAGE PLANS:
...
{code}

Explain plan in Hive-2.3 with enabled CBO:

{code:java}
hive> SET hive.cbo.enable=true;
hive> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );
OK
STAGE DEPENDENCIES:
  Stage-3 is a root stage
  Stage-8 depends on stages: Stage-3
  Stage-6 depends on stages: Stage-8
  Stage-5 depends on stages: Stage-6 , consists of Stage-7, Stage-1
  Stage-7 has a backup stage: Stage-1
  Stage-4 depends on stages: Stage-7
  Stage-1
  Stage-0 depends on stages: Stage-4, Stage-1

STAGE PLANS:
...
{code}

Full explain plans you can find in attachment

  was:
Queries with SUBSTR function in EXISTS clause have much more complicated 
execution plan in Hive-2.3 with enabled CBO then in Hive-2.3 with disabled CBO. 
A query below has 8 stages which submit 4 MR jobs in Hive-2.3 with enabled CBO, 
while with disabled CBO it has 4 stages and submits 1 MR job.

 *STEPS TO REPRODUCE:*
{code:java}
CREATE TABLE i1122 (id STRING);
INSERT INTO i1122 VALUES (1),(1001); 

EXPLAIN
SELECT *
FROM i1122 AS t1
WHERE EXISTS (
SELECT 1
FROM i1122 AS t2
WHERE t2.id = substr(t1.id,4)
);{code}

*ACTUAL RESULT:*
Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
Hive-1.2 with enabled CBO):
{code:java}
hive> SET hive.cbo.enable=false;
hive> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );
OK
STAGE DEPENDENCIES:
  Stage-4 is a root stage
  Stage-3 depends on stages: Stage-4
  Stage-0 depends on stages: Stage-3

STAGE PLANS:
...
{code}

Explain plan in Hive-2.3 with enabled CBO:

{code:java}
hive> SET hive.cbo.enable=true;
hive> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );
OK
STAGE DEPENDENCIES:
  Stage-3 is a root stage
  Stage-8 depends on stages: Stage-3
  Stage-6 depends on stages: Stage-8
  Stage-5 depends on stages: Stage-6 , consists of Stage-7, Stage-1
  Stage-7 has a backup stage: Stage-1
  Stage-4 depends on stages: Stage-7
  Stage-1
  Stage-0 depends on stages: Stage-4, Stage-1

STAGE PLANS:
...
{code}

Full explain plans you can find in attachment


> Optimizer complicates execution plan of queries with SUBSTR function in 
> EXISTS clause
> -
>
> Key: HIVE-21950
> URL: https://issues.apache.org/jira/browse/HIVE-21950
> Project: Hive
>  Issue Type: Bug
>Affects Versions: 2.3.0, 3.1.1
>Reporter: Murshid Chalaev
>Priority: Minor
> Attachments: disabled_CBO.txt, enabled_CBO.txt
>
>
> Queries with SUBSTR function in EXISTS clause have much more complicated 
> execution plan in Hive-2.3 with enabled CBO then with disabled. A query below 
> has 8 stages which submit 4 MR jobs in Hive-2.3 when CBO is enabled, while 
> with disabled it has 4 stages and submits 1 MR job.
>  *STEPS TO REPRODUCE:*
> {code:java}
> CREATE TABLE i1122 (id STRING);
> INSERT INTO i1122 VALUES (1),(1001); 
> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );{code}
> *ACTUAL RESULT:*
> Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
> Hive-1.2 with enabled CBO):
> {code:java}
> hive> SET hive.cbo.enable=false;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-4 is a root 

[jira] [Updated] (HIVE-21950) Optimizer complicates execution plan of queries with SUBSTR function in EXISTS clause

2019-07-03 Thread Murshid Chalaev (JIRA)


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

Murshid Chalaev updated HIVE-21950:
---
Attachment: enabled_CBO.txt

> Optimizer complicates execution plan of queries with SUBSTR function in 
> EXISTS clause
> -
>
> Key: HIVE-21950
> URL: https://issues.apache.org/jira/browse/HIVE-21950
> Project: Hive
>  Issue Type: Bug
>Affects Versions: 2.3.0, 3.1.1
>Reporter: Murshid Chalaev
>Priority: Minor
> Attachments: disabled_CBO.txt, enabled_CBO.txt
>
>
> Queries with SUBSTR function in EXISTS clause have much more complicated 
> execution plan in Hive-2.3 with enabled CBO then in Hive-2.3 with disabled 
> CBO. A query below has 8 stages which submit 4 MR jobs in Hive-2.3 with 
> enabled CBO, while with disabled CBO it has 4 stages and submits 1 MR job.
>  *STEPS TO REPRODUCE:*
> {code:java}
> CREATE TABLE i1122 (id STRING);
> INSERT INTO i1122 VALUES (1),(1001); 
> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );{code}
> *ACTUAL RESULT:*
> Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
> Hive-1.2 with enabled CBO):
> {code:java}
> hive> SET hive.cbo.enable=false;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-4 is a root stage
>   Stage-3 depends on stages: Stage-4
>   Stage-0 depends on stages: Stage-3
> STAGE PLANS:
> ...
> {code}
> Explain plan in Hive-2.3 with enabled CBO:
> {code:java}
> hive> SET hive.cbo.enable=true;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-3 is a root stage
>   Stage-8 depends on stages: Stage-3
>   Stage-6 depends on stages: Stage-8
>   Stage-5 depends on stages: Stage-6 , consists of Stage-7, Stage-1
>   Stage-7 has a backup stage: Stage-1
>   Stage-4 depends on stages: Stage-7
>   Stage-1
>   Stage-0 depends on stages: Stage-4, Stage-1
> STAGE PLANS:
> ...
> {code}
> Full explain plans you can find in attachment



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


[jira] [Updated] (HIVE-21950) Optimizer complicates execution plan of queries with SUBSTR function in EXISTS clause

2019-07-03 Thread Murshid Chalaev (JIRA)


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

Murshid Chalaev updated HIVE-21950:
---
Attachment: disabled_CBO.txt

> Optimizer complicates execution plan of queries with SUBSTR function in 
> EXISTS clause
> -
>
> Key: HIVE-21950
> URL: https://issues.apache.org/jira/browse/HIVE-21950
> Project: Hive
>  Issue Type: Bug
>Affects Versions: 2.3.0, 3.1.1
>Reporter: Murshid Chalaev
>Priority: Minor
> Attachments: disabled_CBO.txt, enabled_CBO.txt
>
>
> Queries with SUBSTR function in EXISTS clause have much more complicated 
> execution plan in Hive-2.3 with enabled CBO then in Hive-2.3 with disabled 
> CBO. A query below has 8 stages which submit 4 MR jobs in Hive-2.3 with 
> enabled CBO, while with disabled CBO it has 4 stages and submits 1 MR job.
>  *STEPS TO REPRODUCE:*
> {code:java}
> CREATE TABLE i1122 (id STRING);
> INSERT INTO i1122 VALUES (1),(1001); 
> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );{code}
> *ACTUAL RESULT:*
> Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
> Hive-1.2 with enabled CBO):
> {code:java}
> hive> SET hive.cbo.enable=false;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-4 is a root stage
>   Stage-3 depends on stages: Stage-4
>   Stage-0 depends on stages: Stage-3
> STAGE PLANS:
> ...
> {code}
> Explain plan in Hive-2.3 with enabled CBO:
> {code:java}
> hive> SET hive.cbo.enable=true;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-3 is a root stage
>   Stage-8 depends on stages: Stage-3
>   Stage-6 depends on stages: Stage-8
>   Stage-5 depends on stages: Stage-6 , consists of Stage-7, Stage-1
>   Stage-7 has a backup stage: Stage-1
>   Stage-4 depends on stages: Stage-7
>   Stage-1
>   Stage-0 depends on stages: Stage-4, Stage-1
> STAGE PLANS:
> ...
> {code}
> Full explain plans you can find in attachment



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


[jira] [Updated] (HIVE-21950) Optimizer complicates execution plan of queries with SUBSTR function in EXISTS clause

2019-07-03 Thread Murshid Chalaev (JIRA)


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

Murshid Chalaev updated HIVE-21950:
---
Description: 
Queries with SUBSTR function in EXISTS clause have much more complicated 
execution plan in Hive-2.3 with enabled CBO then in Hive-2.3 with disabled CBO. 
A query below has 8 stages which submit 4 MR jobs in Hive-2.3 with enabled CBO, 
while with disabled CBO it has 4 stages and submits 1 MR job.

 *STEPS TO REPRODUCE:*
{code:java}
CREATE TABLE i1122 (id STRING);
INSERT INTO i1122 VALUES (1),(1001); 

EXPLAIN
SELECT *
FROM i1122 AS t1
WHERE EXISTS (
SELECT 1
FROM i1122 AS t2
WHERE t2.id = substr(t1.id,4)
);{code}

*ACTUAL RESULT:*
Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
Hive-1.2 with enabled CBO):
{code:java}
hive> SET hive.cbo.enable=false;
hive> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );
OK
STAGE DEPENDENCIES:
  Stage-4 is a root stage
  Stage-3 depends on stages: Stage-4
  Stage-0 depends on stages: Stage-3

STAGE PLANS:
...
{code}

Explain plan in Hive-2.3 with enabled CBO:

{code:java}
hive> SET hive.cbo.enable=true;
hive> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );
OK
STAGE DEPENDENCIES:
  Stage-3 is a root stage
  Stage-8 depends on stages: Stage-3
  Stage-6 depends on stages: Stage-8
  Stage-5 depends on stages: Stage-6 , consists of Stage-7, Stage-1
  Stage-7 has a backup stage: Stage-1
  Stage-4 depends on stages: Stage-7
  Stage-1
  Stage-0 depends on stages: Stage-4, Stage-1

STAGE PLANS:
...
{code}

Full explain plans you can find in attachment

  was:
Queries with SUBSTR function in EXISTS clause have much more complicated 
execution plan in Hive-2.3 then it was in Hive-1.2. A query below has 8 stages 
which submit 4 MR jobs in Hive-2.3, while in Hive-1.2 it has 4 stages and 
submits 1 MR job. Without SUBSTR function or with disabled CBO in Hive-2.3 
execution plan is the same as in Hive-1.2 with enabled CBO.

 *STEPS TO REPRODUCE:*
{code:java}
CREATE TABLE i1122 (id STRING);
INSERT INTO i1122 VALUES (1),(1001); 

EXPLAIN
SELECT *
FROM i1122 AS t1
WHERE EXISTS (
SELECT 1
FROM i1122 AS t2
WHERE t2.id = substr(t1.id,4)
);{code}


> Optimizer complicates execution plan of queries with SUBSTR function in 
> EXISTS clause
> -
>
> Key: HIVE-21950
> URL: https://issues.apache.org/jira/browse/HIVE-21950
> Project: Hive
>  Issue Type: Bug
>Affects Versions: 2.3.0, 3.1.1
>Reporter: Murshid Chalaev
>Priority: Minor
>
> Queries with SUBSTR function in EXISTS clause have much more complicated 
> execution plan in Hive-2.3 with enabled CBO then in Hive-2.3 with disabled 
> CBO. A query below has 8 stages which submit 4 MR jobs in Hive-2.3 with 
> enabled CBO, while with disabled CBO it has 4 stages and submits 1 MR job.
>  *STEPS TO REPRODUCE:*
> {code:java}
> CREATE TABLE i1122 (id STRING);
> INSERT INTO i1122 VALUES (1),(1001); 
> EXPLAIN
> SELECT *
> FROM i1122 AS t1
> WHERE EXISTS (
> SELECT 1
> FROM i1122 AS t2
> WHERE t2.id = substr(t1.id,4)
> );{code}
> *ACTUAL RESULT:*
> Explain plan in Hive-2.3 with disabled CBO(The same execution plan was in 
> Hive-1.2 with enabled CBO):
> {code:java}
> hive> SET hive.cbo.enable=false;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-4 is a root stage
>   Stage-3 depends on stages: Stage-4
>   Stage-0 depends on stages: Stage-3
> STAGE PLANS:
> ...
> {code}
> Explain plan in Hive-2.3 with enabled CBO:
> {code:java}
> hive> SET hive.cbo.enable=true;
> hive> EXPLAIN
> > SELECT *
> > FROM i1122 AS t1
> > WHERE EXISTS (
> > SELECT 1
> > FROM i1122 AS t2
> > WHERE t2.id = substr(t1.id,4)
> > );
> OK
> STAGE DEPENDENCIES:
>   Stage-3 is a root stage
>   Stage-8 depends on stages: Stage-3
>   Stage-6 depends on stages: Stage-8
>   Stage-5 depends on stages: Stage-6 , consists of Stage-7, Stage-1
>   Stage-7 has a backup stage: Stage-1
>   Stage-4 depends on stages: Stage-7
>   Stage-1
>   Stage-0 depends on stages: Stage-4, Stage-1
> STAGE PLANS:
> ...
> {code}
> Full explain plans you can find in attachment



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


[jira] [Updated] (HIVE-13187) hiveserver2 can suppress OOM errors in some cases

2018-02-07 Thread Murshid Chalaev (JIRA)

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

Murshid Chalaev updated HIVE-13187:
---
Description: 
Affects at least branch-2.
See trace in https://issues.apache.org/jira/browse/HIVE-13176

This looks to be in src/java/org/apache/hadoop/hive/ql/exec/TaskRunner.java.
That catches Throwable in the thread and sends it further up. There's no checks 
to see if this is an Error or general Exception - Errors end up getting 
suppressed, instead of killing HiveServer2. This is on the processing threads.

It looks like the Handler threads have some kind of OOM checker on them.

  was:
Affects at least branch-2.
See trace in https://issues.apache.org/jira/browse/HIVE-13176


This looks to be in src/java/org/apache/hadoop/hive/ql/exec/TaskRunner.java.
That catches Throwable in the thread and sends it further up. There's no checks 
to see if this is an Error or general Exception - Errors end up getting 
suppressed, instead of killing HiveServer2. This is on the processing threads.

It looks like the Handler threads have some kind of OOM checker on them.


> hiveserver2 can suppress OOM errors in some cases
> -
>
> Key: HIVE-13187
> URL: https://issues.apache.org/jira/browse/HIVE-13187
> Project: Hive
>  Issue Type: Bug
>Affects Versions: 2.0.0
>Reporter: Siddharth Seth
>Priority: Critical
>
> Affects at least branch-2.
> See trace in https://issues.apache.org/jira/browse/HIVE-13176
> This looks to be in src/java/org/apache/hadoop/hive/ql/exec/TaskRunner.java.
> That catches Throwable in the thread and sends it further up. There's no 
> checks to see if this is an Error or general Exception - Errors end up 
> getting suppressed, instead of killing HiveServer2. This is on the processing 
> threads.
> It looks like the Handler threads have some kind of OOM checker on them.



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


[jira] [Commented] (HIVE-12754) AuthTypes.NONE cause exception after HS2 start

2016-08-01 Thread Murshid Chalaev (JIRA)

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

Murshid Chalaev commented on HIVE-12754:


Hi, Heng

On which version of hive did you face this issue?
Did you manage to solve it or find a workaround?

> AuthTypes.NONE cause exception after HS2 start
> --
>
> Key: HIVE-12754
> URL: https://issues.apache.org/jira/browse/HIVE-12754
> Project: Hive
>  Issue Type: Bug
>Reporter: Heng Chen
>
> I set {{hive.server2.authentication}} to be {{NONE}}
> After HS2 start, i see exception in log below:
> {code}
> 2015-12-29 16:58:42,339 ERROR [HiveServer2-Handler-Pool: Thread-31]: 
> server.TThreadPoolServer (TThreadPoolServer.java:run(296)) - Error occurred 
> during processing of message.
> java.lang.RuntimeException: 
> org.apache.thrift.transport.TSaslTransportException: No data or no sasl data 
> in the stream
> at 
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
> at 
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:268)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.thrift.transport.TSaslTransportException: No data or no 
> sasl data in the stream
> at 
> org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:328)
> at 
> org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
> at 
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
> ... 4 more
> {code}
> IMO the problem is we use Sasl transport when authType is NONE, 
> {code:title=HiveAuthFactory.java}
>   public TTransportFactory getAuthTransFactory() throws LoginException {
> TTransportFactory transportFactory;
> if (authTypeStr.equalsIgnoreCase(AuthTypes.KERBEROS.getAuthName())) {
>   try {
> transportFactory = 
> saslServer.createTransportFactory(getSaslProperties());
>   } catch (TTransportException e) {
> throw new LoginException(e.getMessage());
>   }
> } else if (authTypeStr.equalsIgnoreCase(AuthTypes.NONE.getAuthName())) {
>   transportFactory = 
> PlainSaslHelper.getPlainTransportFactory(authTypeStr);
> } else if (authTypeStr.equalsIgnoreCase(AuthTypes.LDAP.getAuthName())) {
>   transportFactory = 
> PlainSaslHelper.getPlainTransportFactory(authTypeStr);
> } else if (authTypeStr.equalsIgnoreCase(AuthTypes.PAM.getAuthName())) {
>   transportFactory = 
> PlainSaslHelper.getPlainTransportFactory(authTypeStr);
> } else if (authTypeStr.equalsIgnoreCase(AuthTypes.NOSASL.getAuthName())) {
>   transportFactory = new TTransportFactory();
> } else if (authTypeStr.equalsIgnoreCase(AuthTypes.CUSTOM.getAuthName())) {
>   transportFactory = 
> PlainSaslHelper.getPlainTransportFactory(authTypeStr);
> } else {
>   throw new LoginException("Unsupported authentication type " + 
> authTypeStr);
> }
> return transportFactory;
>   }
> {code}



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