[
https://issues.apache.org/jira/browse/KNOX-2134?focusedWorklogId=348307&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-348307
]
ASF GitHub Bot logged work on KNOX-2134:
----------------------------------------
Author: ASF GitHub Bot
Created on: 22/Nov/19 19:37
Start Date: 22/Nov/19 19:37
Worklog Time Spent: 10m
Work Description: risdenk commented on pull request #205: KNOX-2134 - Add
caching to ZookeeperRemoteAliasService
URL: https://github.com/apache/knox/pull/205#discussion_r349761544
##########
File path:
gateway-server/src/main/java/org/apache/knox/gateway/services/security/impl/ZookeeperRemoteAliasService.java
##########
@@ -169,19 +171,23 @@ private static void checkPathsExist(
public List<String> getAliasesForCluster(final String clusterName) throws
AliasServiceException {
List<String> remoteAliases = new ArrayList<>();
- /* If we have remote registry configured, query it */
- if (remoteClient != null) {
- remoteAliases = remoteClient
- .listChildEntries(buildClusterEntryName(clusterName));
+ // First, check the alias cache
+ if (aliasCache.containsKey(clusterName)) {
+ remoteAliases.addAll(aliasCache.get(clusterName).keySet());
+ } else { // If it's not available locally, then check ZK
+ /* If we have remote registry configured, query it */
+ if (remoteClient != null) {
+ remoteAliases =
remoteClient.listChildEntries(buildClusterEntryName(clusterName));
+ }
Review comment:
If the cache isn't up to date for whatever reason, we should update the
cache and return that data. Now have to be careful about a race condition here.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 348307)
Time Spent: 50m (was: 40m)
> Add caching to ZookeeperRemoteAliasService
> ------------------------------------------
>
> Key: KNOX-2134
> URL: https://issues.apache.org/jira/browse/KNOX-2134
> Project: Apache Knox
> Issue Type: Bug
> Components: Server
> Affects Versions: 1.3.0
> Reporter: Philip Zampino
> Assignee: Philip Zampino
> Priority: Major
> Fix For: 1.4.0
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> The ZookeeperRemoteAliasService implementation always goes to ZooKeeper to
> retrieve alias data. Instead, it should cache the data locally to make
> password retrieval much faster.
> The implementation already receives pushes from ZooKeeper when alias znodes
> change, so instead of only updating the associated local alias service, it
> can also update its own cache.
> This way, it only ever needs to go to ZooKeeper for add/remove operations.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)