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

Sahana Bhat updated HIVE-25352:
-------------------------------
    Description: 
The existing DBTokenStore implementation is very under optimised when an RDBMS 
is used.
 * All available tokens are fetched from the DB. The validity of each token is 
determined based on its max date and renew date and deleted if required. For a 
relational database like MySQL, a *query to fetch all rows with no filters or 
pagination* can be costly and impact the performance of the database and the 
server. 
 * From the token identifiers fetched, if the token hasn’t breached its max 
date, the token information is again fetched from the database to validate its 
renew date.  
 * The token expiration daemon is part of the Hive system. In a cluster of tens 
or hundreds of Hive servers, the daemon runs on each of the servers. This means 
that the flow of fetching of tokens, validation for expiration and deleting 
them is executed in duplication in each of the servers. The *duplication of the 
functionality in every server* along with the problems discussed in Point 1 & 
2, can severely degrade the performance of the database.

This issue will address the issues mentioned in 1 & 2.

> Optimise DBTokenStore for RDBMS
> -------------------------------
>
>                 Key: HIVE-25352
>                 URL: https://issues.apache.org/jira/browse/HIVE-25352
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Sahana Bhat
>            Assignee: Sahana Bhat
>            Priority: Major
>
> The existing DBTokenStore implementation is very under optimised when an 
> RDBMS is used.
>  * All available tokens are fetched from the DB. The validity of each token 
> is determined based on its max date and renew date and deleted if required. 
> For a relational database like MySQL, a *query to fetch all rows with no 
> filters or pagination* can be costly and impact the performance of the 
> database and the server. 
>  * From the token identifiers fetched, if the token hasn’t breached its max 
> date, the token information is again fetched from the database to validate 
> its renew date.  
>  * The token expiration daemon is part of the Hive system. In a cluster of 
> tens or hundreds of Hive servers, the daemon runs on each of the servers. 
> This means that the flow of fetching of tokens, validation for expiration and 
> deleting them is executed in duplication in each of the servers. The 
> *duplication of the functionality in every server* along with the problems 
> discussed in Point 1 & 2, can severely degrade the performance of the 
> database.
> This issue will address the issues mentioned in 1 & 2.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to