You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Sandor Molnar (Jira)" <ji...@apache.org> on 2020/07/22 09:57:00 UTC

[jira] [Updated] (KNOX-2408) Improve AliasBasedTokenState service performance

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

Sandor Molnar updated KNOX-2408:
--------------------------------
    Description: 
While working on KNOX-2402 there were some performance issues related to {{AliasBasedTokenStateService}} which the new tool revealed during the test phase:

{{AliasBasedTokenStateService}}:
 - {{updateExpiration()}} goes directly to alias service rather than updating it locally and let the background thread does its job
 - {{getTokens}} goes directly to alias service

{{DefaultTokenStateService}}:
 - we should start using {{ConcurrentHashMap}} instead of {{HashMap}} for {{tokenExpirations}} and {{maxTokenLifetimes}} -> many of the synchronization blocks could be get rid of (CHM gives better performance anyway)
 - review {{getTokens()}} usage
 - eviction: needs to consider the case when Gateway was restarted -> nothing found in memory -> eviction is extremely slow

  was:
While working on KNOX-2402 there were some performance issues related to {{AliasBasedTokenStateService}} which the new tool revealed during the test phase:

{\{AliasBasedTokenStateService}:
- {{updateExpiration()}} goes directly to alias service rather than updating it locally and let the background thread does its job
- {{getTokens}} goes directly to alias service

{{DefaultTokenStateService}}:
- we should start using {{ConcurrentHashMap}} instead of {{HashMap}} for {{tokenExpirations}} and {{maxTokenLifetimes}} -> many of the synchronization blocks could be get rid of (CHM gives better performance anyway)
- review {{getTokens()}} usage
- eviction: needs to consider the case when Gateway was restarted -> nothing found in memory -> eviction is extremely slow


> Improve AliasBasedTokenState service performance
> ------------------------------------------------
>
>                 Key: KNOX-2408
>                 URL: https://issues.apache.org/jira/browse/KNOX-2408
>             Project: Apache Knox
>          Issue Type: Task
>          Components: Server
>    Affects Versions: 1.4.0
>            Reporter: Sandor Molnar
>            Assignee: Sandor Molnar
>            Priority: Major
>             Fix For: 1.5.0
>
>
> While working on KNOX-2402 there were some performance issues related to {{AliasBasedTokenStateService}} which the new tool revealed during the test phase:
> {{AliasBasedTokenStateService}}:
>  - {{updateExpiration()}} goes directly to alias service rather than updating it locally and let the background thread does its job
>  - {{getTokens}} goes directly to alias service
> {{DefaultTokenStateService}}:
>  - we should start using {{ConcurrentHashMap}} instead of {{HashMap}} for {{tokenExpirations}} and {{maxTokenLifetimes}} -> many of the synchronization blocks could be get rid of (CHM gives better performance anyway)
>  - review {{getTokens()}} usage
>  - eviction: needs to consider the case when Gateway was restarted -> nothing found in memory -> eviction is extremely slow



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