[jira] [Commented] (HIVE-20348) Hive HCat does not create a proper 'client' on kerberos cluster without hive metastore

2018-08-15 Thread Lefty Leverenz (JIRA)


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

Lefty Leverenz commented on HIVE-20348:
---

[~osayankin], you named me as a reviewer on RB but I'm not qualified to review 
code.  Perhaps someone else can handle it.

https://reviews.apache.org/r/68275/

> Hive HCat does not create a proper 'client' on kerberos cluster without hive 
> metastore
> --
>
> Key: HIVE-20348
> URL: https://issues.apache.org/jira/browse/HIVE-20348
> Project: Hive
>  Issue Type: Bug
>Reporter: Oleksiy Sayankin
>Assignee: Oleksiy Sayankin
>Priority: Major
> Attachments: HIVE-20348.1.patch
>
>
> *STEPS TO REPRODUCE:*
> 1. Configure Hive to use embedded Metastore (do not specify 
> {{hive.metastore.uris}} in {{hive-site.xml}});
> 2. Create a database and a table in MySQL:
> {code:java}
> mysql -uroot -p123456 -e "CREATE DATABASE test;CREATE TABLE test.test (id 
> INT);INSERT INTO test.test VALUES (1),(2),(3)"
> {code}
> 3. Create a table in Hive:
> {code:java}
> hive -e "CREATE TABLE default.test (id INT)"
> {code}
> 4. Run Sqoop import command:
> {code:java}
> sqoop import --connect 'jdbc:mysql://localhost:3306/test' --username root 
> --password 123456 --table test  --hcatalog-database "default" 
> --hcatalog-table "test" --verbose -m 1
> {code}
> *ACTUAL RESULT:*
> Sqoop import command fails with an exception:
> {code:java}
> 18/08/08 01:07:09 ERROR tool.ImportTool: Encountered IOException running 
> import job: org.apache.hive.hcatalog.common.HCatException : 2001 : Error 
> setting output information. Cause : java.lang.NullPointerException
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:220)
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:70)
> at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureHCat(SqoopHCatUtilities.java:361)
> at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureImportOutputFormat(SqoopHCatUtilities.java:783)
> at 
> org.apache.sqoop.mapreduce.ImportJobBase.configureOutputFormat(ImportJobBase.java:98)
> at 
> org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:259)
> at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:689)
> at 
> org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118)
> at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:498)
> at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:606)
> at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
> at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
> Caused by: java.lang.NullPointerException
> at org.apache.hadoop.security.token.Token.decodeWritable(Token.java:256)
> at 
> org.apache.hadoop.security.token.Token.decodeFromUrlString(Token.java:275)
> at 
> org.apache.hive.hcatalog.common.HCatUtil.extractThriftToken(HCatUtil.java:351)
> at 
> org.apache.hive.hcatalog.mapreduce.Security.handleSecurity(Security.java:139)
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:214)
> ... 15 more
> {code}



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


[jira] [Commented] (HIVE-20348) Hive HCat does not create a proper 'client' on kerberos cluster without hive metastore

2018-08-09 Thread Hive QA (JIRA)


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

Hive QA commented on HIVE-20348:




Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12934931/HIVE-20348.1.patch

{color:red}ERROR:{color} -1 due to no test(s) being added or modified.

{color:red}ERROR:{color} -1 due to 1 failed/errored test(s), 14867 tests 
executed
*Failed tests:*
{noformat}
TestMiniDruidCliDriver - did not produce a TEST-*.xml file (likely timed out) 
(batchId=193)

[druidmini_dynamic_partition.q,druidmini_test_ts.q,druidmini_expressions.q,druidmini_test_alter.q,druidmini_test_insert.q]
{noformat}

Test results: 
https://builds.apache.org/job/PreCommit-HIVE-Build/13121/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/13121/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-13121/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.YetusPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 1 tests failed
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12934931 - PreCommit-HIVE-Build

> Hive HCat does not create a proper 'client' on kerberos cluster without hive 
> metastore
> --
>
> Key: HIVE-20348
> URL: https://issues.apache.org/jira/browse/HIVE-20348
> Project: Hive
>  Issue Type: Bug
>Reporter: Oleksiy Sayankin
>Assignee: Oleksiy Sayankin
>Priority: Major
> Attachments: HIVE-20348.1.patch
>
>
> *STEPS TO REPRODUCE:*
> 1. Configure Hive to use embedded Metastore (do not specify 
> {{hive.metastore.uris}} in {{hive-site.xml}});
> 2. Create a database and a table in MySQL:
> {code:java}
> mysql -uroot -p123456 -e "CREATE DATABASE test;CREATE TABLE test.test (id 
> INT);INSERT INTO test.test VALUES (1),(2),(3)"
> {code}
> 3. Create a table in Hive:
> {code:java}
> hive -e "CREATE TABLE default.test (id INT)"
> {code}
> 4. Run Sqoop import command:
> {code:java}
> sqoop import --connect 'jdbc:mysql://localhost:3306/test' --username root 
> --password 123456 --table test  --hcatalog-database "default" 
> --hcatalog-table "test" --verbose -m 1
> {code}
> *ACTUAL RESULT:*
> Sqoop import command fails with an exception:
> {code:java}
> 18/08/08 01:07:09 ERROR tool.ImportTool: Encountered IOException running 
> import job: org.apache.hive.hcatalog.common.HCatException : 2001 : Error 
> setting output information. Cause : java.lang.NullPointerException
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:220)
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:70)
> at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureHCat(SqoopHCatUtilities.java:361)
> at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureImportOutputFormat(SqoopHCatUtilities.java:783)
> at 
> org.apache.sqoop.mapreduce.ImportJobBase.configureOutputFormat(ImportJobBase.java:98)
> at 
> org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:259)
> at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:689)
> at 
> org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118)
> at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:498)
> at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:606)
> at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
> at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
> Caused by: java.lang.NullPointerException
> at org.apache.hadoop.security.token.Token.decodeWritable(Token.java:256)
> at 
> org.apache.hadoop.security.token.Token.decodeFromUrlString(Token.java:275)
> at 
> org.apache.hive.hcatalog.common.HCatUtil.extractThriftToken(HCatUtil.java:351)
> at 
> org.apache.hive.hcatalog.mapreduce.Security.handleSecurity(Security.java:139)
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:214)
> ... 15 more
> {code}



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


[jira] [Commented] (HIVE-20348) Hive HCat does not create a proper 'client' on kerberos cluster without hive metastore

2018-08-09 Thread Hive QA (JIRA)


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

Hive QA commented on HIVE-20348:


| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  8m 
29s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
23s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
13s{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m 
37s{color} | {color:blue} hcatalog/core in master has 31 extant Findbugs 
warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
14s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
24s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
21s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
21s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
12s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 
44s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
15s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
14s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 12m 31s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Optional Tests |  asflicense  javac  javadoc  findbugs  checkstyle  compile  |
| uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 
3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/data/hiveptest/working/yetus_PreCommit-HIVE-Build-13121/dev-support/hive-personality.sh
 |
| git revision | master / 873d31f |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| modules | C: hcatalog/core U: hcatalog/core |
| Console output | 
http://104.198.109.242/logs//PreCommit-HIVE-Build-13121/yetus.txt |
| Powered by | Apache Yetushttp://yetus.apache.org |


This message was automatically generated.



> Hive HCat does not create a proper 'client' on kerberos cluster without hive 
> metastore
> --
>
> Key: HIVE-20348
> URL: https://issues.apache.org/jira/browse/HIVE-20348
> Project: Hive
>  Issue Type: Bug
>Reporter: Oleksiy Sayankin
>Assignee: Oleksiy Sayankin
>Priority: Major
> Attachments: HIVE-20348.1.patch
>
>
> *STEPS TO REPRODUCE:*
> 1. Configure Hive to use embedded Metastore (do not specify 
> {{hive.metastore.uris}} in {{hive-site.xml}});
> 2. Create a database and a table in MySQL:
> {code:java}
> mysql -uroot -p123456 -e "CREATE DATABASE test;CREATE TABLE test.test (id 
> INT);INSERT INTO test.test VALUES (1),(2),(3)"
> {code}
> 3. Create a table in Hive:
> {code:java}
> hive -e "CREATE TABLE default.test (id INT)"
> {code}
> 4. Run Sqoop import command:
> {code:java}
> sqoop import --connect 'jdbc:mysql://localhost:3306/test' --username root 
> --password 123456 --table test  --hcatalog-database "default" 
> --hcatalog-table "test" --verbose -m 1
> {code}
> *ACTUAL RESULT:*
> Sqoop import command fails with an exception:
> {code:java}
> 18/08/08 01:07:09 ERROR tool.ImportTool: Encountered IOException running 
> import job: org.apache.hive.hcatalog.common.HCatException : 2001 : Error 
> setting output information. Cause : java.lang.NullPointerException
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:220)
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:70)
> at 

[jira] [Commented] (HIVE-20348) Hive HCat does not create a proper "client" on kerberos cluster without hive metastore

2018-08-09 Thread Oleksiy Sayankin (JIRA)


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

Oleksiy Sayankin commented on HIVE-20348:
-

*ROOT-CAUSE*

Class {{org.apache.hive.hcatalog.mapreduce.Security}} executes:

{code}
hiveToken = 
HCatUtil.extractThriftToken(client.getDelegationToken(ugi.getUserName(), 
ugi.getUserName()), tokenSignature);
{code}

So {{HCatUtil.extractThriftToken()}} expects delegation token not to be 
{{null}} here. Consider {{client.getDelegationToken()}}:

{code}
  @Override
  public String getDelegationToken(String owner, String 
renewerKerberosPrincipalName) throws
  MetaException, TException {
// This is expected to be a no-op, so we will return null when we use local 
metastore.
if (localMetaStore) {
  return null;
}
return client.get_delegation_token(owner, renewerKerberosPrincipalName);
  }
{code}

We see that there is no delegation token when HMS is in local mode 
({{getDelegationToken()}} returns {{null}}) and this causes NPE.

*SOLUTION*

Request for delegation token only if HMS not in local mode:

{code}
if (hiveToken == null && !client.isLocalMetaStore()) {
{code}

> Hive HCat does not create a proper "client" on kerberos cluster without hive 
> metastore
> --
>
> Key: HIVE-20348
> URL: https://issues.apache.org/jira/browse/HIVE-20348
> Project: Hive
>  Issue Type: Bug
>Reporter: Oleksiy Sayankin
>Assignee: Oleksiy Sayankin
>Priority: Major
> Attachments: HIVE-20348.1.patch
>
>
> *STEPS TO REPRODUCE:*
> 1. Configure Hive to use embedded Metastore (do not specify 
> {{hive.metastore.uris}} in {{hive-site.xml}});
> 2. Create a database and a table in MySQL:
> {code:java}
> mysql -uroot -p123456 -e "CREATE DATABASE test;CREATE TABLE test.test (id 
> INT);INSERT INTO test.test VALUES (1),(2),(3)"
> {code}
> 3. Create a table in Hive:
> {code:java}
> hive -e "CREATE TABLE default.test (id INT)"
> {code}
> 4. Run Sqoop import command:
> {code:java}
> sqoop import --connect 'jdbc:mysql://localhost:3306/test' --username root 
> --password 123456 --table test  --hcatalog-database "default" 
> --hcatalog-table "test" --verbose -m 1
> {code}
> *ACTUAL RESULT:*
> Sqoop import command fails with an exception:
> {code:java}
> 18/08/08 01:07:09 ERROR tool.ImportTool: Encountered IOException running 
> import job: org.apache.hive.hcatalog.common.HCatException : 2001 : Error 
> setting output information. Cause : java.lang.NullPointerException
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:220)
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:70)
> at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureHCat(SqoopHCatUtilities.java:361)
> at 
> org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureImportOutputFormat(SqoopHCatUtilities.java:783)
> at 
> org.apache.sqoop.mapreduce.ImportJobBase.configureOutputFormat(ImportJobBase.java:98)
> at 
> org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:259)
> at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:689)
> at 
> org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118)
> at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:498)
> at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:606)
> at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
> at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
> Caused by: java.lang.NullPointerException
> at org.apache.hadoop.security.token.Token.decodeWritable(Token.java:256)
> at 
> org.apache.hadoop.security.token.Token.decodeFromUrlString(Token.java:275)
> at 
> org.apache.hive.hcatalog.common.HCatUtil.extractThriftToken(HCatUtil.java:351)
> at 
> org.apache.hive.hcatalog.mapreduce.Security.handleSecurity(Security.java:139)
> at 
> org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:214)
> ... 15 more
> {code}



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