Jason Fehr created IMPALA-14186:
-----------------------------------
Summary: Support JWT Token Refresh in Impyla
Key: IMPALA-14186
URL: https://issues.apache.org/jira/browse/IMPALA-14186
Project: IMPALA
Issue Type: Improvement
Reporter: Jason Fehr
JWTs are intended to be short-lived, often having lifespans of 5 minutes.
Currently, Impyla takes a JWT as input to start a query, but, if the query is
long-running, the JWT expires and results in 401 Unauthorized errors.
Impyla needs to support JWT token refreshes while a query is running. To
accomplish this:
# Add the ability to specify a callback function to generate a JWT. When
Impyla needs to obtain a new JWT, it will call that callback function to run
the user provided code to obtain a new JWT. Users can still specify a JWT if
they want, and Impyla must use that JWT like it does today. If a JWT is not
specified, the callback function is immediately callef. If both a JWT and a
callback function are provided, start by using the JWT and call the callback
function when that initial JWT is about to expire. The callback function will
be provided the previous JWT string as input (or None if there is no previous
JWT) and will return a new JWT string.
# Impyla must jave a new configuration setting to determine when the JWT
should be renewed. This setting must specify a number of seconds. Once the
JWT expiration time minus the current time is less than the value of this
setting, the JWT is renewed. Default this value to 60.
# Impyla must provide the ability to specify a callback to determine if a JWT
needs renewing or not. The callback function will be provided the JWT as input
and will return a boolean indicating if renewing is needed.
# If both a JWT expiration callback and a number of seconds is specified, the
callback takes precedence and the expiration time setting is ignored.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]