Yuxiang Chen created HIVE-19276: ----------------------------------- Summary: Metastore delegation tokens should return non-empty service field in delegation tokens Key: HIVE-19276 URL: https://issues.apache.org/jira/browse/HIVE-19276 Project: Hive Issue Type: Task Components: Hive Reporter: Yuxiang Chen Assignee: Yuxiang Chen
Metastore does not set the token signature by default in the metastore (returns an empty string), and thus the service field, which is assigned to the value of token signature, would also be empty. This would cause problem that the clients cannot retrieve the right token from the token file, using this service field. Metastore delegation tokens currently return an empty string in the delegation token for the "service" field. The service field should be set to something that meaningfully identifies the metastore/cluster, so clients can find it in the token file. Meanwhile, we also want to change the code on hive metastore to use metastore uris as the service field when token signature is empty. However, to make the changes effective, we also need to do similar modifications on the client side, as we mentioned above. Thus to do this, we need to add the following logic: (1) On the client side, the client will first try to get token using the current service field, if it gets nothing, we fallback to use "hive.metastore.uris" as the service field and retry token selection. (2) On the metastore side, if the current token signature is not empty, we set the service field to be the value of token signature; otherwise, we use hive.metastore.uris as the service field. The patch is in the attachment. -- This message was sent by Atlassian JIRA (v7.6.3#76005)