[jira] [Commented] (HIVE-13651) LlapBaseInputFormat: figure out where credentials come from

2016-05-23 Thread Sergey Shelukhin (JIRA)

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

Sergey Shelukhin commented on HIVE-13651:
-

[~jdere] can you comment wrt the above, and the compilation and materialization 
logic for LLAPIF? What do we need to get the tokens during that compilation. 

> LlapBaseInputFormat: figure out where credentials come from
> ---
>
> Key: HIVE-13651
> URL: https://issues.apache.org/jira/browse/HIVE-13651
> Project: Hive
>  Issue Type: Sub-task
>  Components: llap
>Reporter: Jason Dere
>
> todo in LlapBaseInputFormat.constructSubmitWorkRequestProto()
> {code}
> // TODO Figure out where credentials will come from. Normally Hive sets up
> // URLs on the tez dag, for which Tez acquires credentials.
> //taskCredentials.addAll(getContext().getCredentials());
> //
> Preconditions.checkState(currentQueryIdentifierProto.getDagIdentifier() ==
> //
> taskSpec.getTaskAttemptID().getTaskID().getVertexID().getDAGId().getId());
> //ByteBuffer credentialsBinary = 
> credentialMap.get(currentQueryIdentifierProto);
> //if (credentialsBinary == null) {
> //  credentialsBinary = 
> serializeCredentials(getContext().getCredentials());
> //  credentialMap.putIfAbsent(currentQueryIdentifierProto, 
> credentialsBinary.duplicate());
> //} else {
> //  credentialsBinary = credentialsBinary.duplicate();
> //}
> //
> builder.setCredentialsBinary(ByteString.copyFrom(credentialsBinary));
> {code}



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


[jira] [Commented] (HIVE-13651) LlapBaseInputFormat: figure out where credentials come from

2016-05-23 Thread Siddharth Seth (JIRA)

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

Siddharth Seth commented on HIVE-13651:
---

For a regular Tez dag execution - HBase tokens are obtained specifically by the 
Hive client. For HDFS tokens - hive provides a list of URIs to Tez, and Tez 
takes care of obtaining the tokens.
The main scenario here will be access data on the local cluster. For HDFS - 
this should be handled by LLAP dameons having access to data owned by Hive (no 
tokens need to be propagated). I'm not sure how HBase will work - will the 
kerberos credentials used by LLAP be sufficient to talk to HBase ?

For the non-standard case - e.g. 1. accessing data from a different cluster - 
HS2 could obtain the tokens for the hive user. An important aspect to consider 
here is whether HS2 will be able to perform security checks for an alternate 
table. 2. Accessing data owned by some other user - this responsibility would 
fall on the client (HS2 does not have the required credentials to do this).

> LlapBaseInputFormat: figure out where credentials come from
> ---
>
> Key: HIVE-13651
> URL: https://issues.apache.org/jira/browse/HIVE-13651
> Project: Hive
>  Issue Type: Sub-task
>  Components: llap
>Reporter: Jason Dere
>
> todo in LlapBaseInputFormat.constructSubmitWorkRequestProto()
> {code}
> // TODO Figure out where credentials will come from. Normally Hive sets up
> // URLs on the tez dag, for which Tez acquires credentials.
> //taskCredentials.addAll(getContext().getCredentials());
> //
> Preconditions.checkState(currentQueryIdentifierProto.getDagIdentifier() ==
> //
> taskSpec.getTaskAttemptID().getTaskID().getVertexID().getDAGId().getId());
> //ByteBuffer credentialsBinary = 
> credentialMap.get(currentQueryIdentifierProto);
> //if (credentialsBinary == null) {
> //  credentialsBinary = 
> serializeCredentials(getContext().getCredentials());
> //  credentialMap.putIfAbsent(currentQueryIdentifierProto, 
> credentialsBinary.duplicate());
> //} else {
> //  credentialsBinary = credentialsBinary.duplicate();
> //}
> //
> builder.setCredentialsBinary(ByteString.copyFrom(credentialsBinary));
> {code}



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


[jira] [Commented] (HIVE-13651) LlapBaseInputFormat: figure out where credentials come from

2016-05-16 Thread Sergey Shelukhin (JIRA)

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

Sergey Shelukhin commented on HIVE-13651:
-

Actually, I think this is better done separately. LLAP token and non-LLAP 
tokens come from different places

> LlapBaseInputFormat: figure out where credentials come from
> ---
>
> Key: HIVE-13651
> URL: https://issues.apache.org/jira/browse/HIVE-13651
> Project: Hive
>  Issue Type: Sub-task
>  Components: llap
>Reporter: Jason Dere
>
> todo in LlapBaseInputFormat.constructSubmitWorkRequestProto()
> {code}
> // TODO Figure out where credentials will come from. Normally Hive sets up
> // URLs on the tez dag, for which Tez acquires credentials.
> //taskCredentials.addAll(getContext().getCredentials());
> //
> Preconditions.checkState(currentQueryIdentifierProto.getDagIdentifier() ==
> //
> taskSpec.getTaskAttemptID().getTaskID().getVertexID().getDAGId().getId());
> //ByteBuffer credentialsBinary = 
> credentialMap.get(currentQueryIdentifierProto);
> //if (credentialsBinary == null) {
> //  credentialsBinary = 
> serializeCredentials(getContext().getCredentials());
> //  credentialMap.putIfAbsent(currentQueryIdentifierProto, 
> credentialsBinary.duplicate());
> //} else {
> //  credentialsBinary = credentialsBinary.duplicate();
> //}
> //
> builder.setCredentialsBinary(ByteString.copyFrom(credentialsBinary));
> {code}



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


[jira] [Commented] (HIVE-13651) LlapBaseInputFormat: figure out where credentials come from

2016-05-10 Thread Sergey Shelukhin (JIRA)

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

Sergey Shelukhin commented on HIVE-13651:
-

Oh, so this JIRA already exists. The serialized token will be a part of 
getSplits UDF output. Does it make sense after that?

> LlapBaseInputFormat: figure out where credentials come from
> ---
>
> Key: HIVE-13651
> URL: https://issues.apache.org/jira/browse/HIVE-13651
> Project: Hive
>  Issue Type: Sub-task
>  Components: llap
>Reporter: Jason Dere
>
> todo in LlapBaseInputFormat.constructSubmitWorkRequestProto()
> {code}
> // TODO Figure out where credentials will come from. Normally Hive sets up
> // URLs on the tez dag, for which Tez acquires credentials.
> //taskCredentials.addAll(getContext().getCredentials());
> //
> Preconditions.checkState(currentQueryIdentifierProto.getDagIdentifier() ==
> //
> taskSpec.getTaskAttemptID().getTaskID().getVertexID().getDAGId().getId());
> //ByteBuffer credentialsBinary = 
> credentialMap.get(currentQueryIdentifierProto);
> //if (credentialsBinary == null) {
> //  credentialsBinary = 
> serializeCredentials(getContext().getCredentials());
> //  credentialMap.putIfAbsent(currentQueryIdentifierProto, 
> credentialsBinary.duplicate());
> //} else {
> //  credentialsBinary = credentialsBinary.duplicate();
> //}
> //
> builder.setCredentialsBinary(ByteString.copyFrom(credentialsBinary));
> {code}



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