[ 
https://issues.apache.org/jira/browse/KNOX-3515?focusedWorklogId=1047916&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1047916
 ]

ASF GitHub Bot logged work on KNOX-3515:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 16/Oct/26 17:54
            Start Date: 16/Oct/26 17:54
    Worklog Time Spent: 10m 
      Work Description: smolnar82 commented on code in PR #1456:
URL: https://github.com/apache/knox/pull/1456#discussion_r4297673122


##########
.github/workflows/compose/knoxidf-ha/gateway-site.xml:
##########
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<configuration>
+
+    <property>
+        <name>gateway.service.alias.impl</name>

Review Comment:
   Cleaned up.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 1047916)
    Time Spent: 1h 10m  (was: 1h)

> Add trusted oidc issuer cache TTL/eventual consistency for HA configurations
> ----------------------------------------------------------------------------
>
>                 Key: KNOX-3515
>                 URL: https://issues.apache.org/jira/browse/KNOX-3515
>             Project: Apache Knox
>          Issue Type: Sub-task
>          Components: JWT
>            Reporter: Harrison Sheinblatt
>            Assignee: Sandor Molnar
>            Priority: Major
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Knox nodes in an HA configuration will not all see changes made on other 
> nodes within a known time limit, and some will never be updated.
> Currently there are a few cache layers used with Trusted OIDC Issuers:
>  # Registry snapshot in JdbcTrustedOidcIssuerService
>  # Discovery document cache in OIDCDiscoveryHelper
>  # JWKS source cache in DefaultTokenAuthorityService (this is preexisting)
> The registry snapshot never expires and is only mutated by the local admin 
> API calls.  See reloadRegistrySnapshot. The discovery document cache has a 
> TTL, but won't be invalidated when the table data is changed.
> To enable HA configurations to work properly, the registry snapshot needs to 
> be invalidated within a configurable time limit, ideally by a 
> background/scheduled thread with jitter. This will be the same as the 
> revocation timeout and the time before a newly registered issuer can be 
> safely used for token exchange.
> To make the full cache stack work, when the registry snapshot cache is 
> invalidated, the discovery cache must also be invalidated: 
> discoveryHelper.invalidate(issuerUrl). 
> There are other options to allow HA configurations to work, but they have 
> drawbacks, including but not limited to:
>  # Removing the registry cache exposes a DOS surface for invalid issuers
>  ## Could use a negative cache with rate limiting to mitigate the DOS threat
>  # One could optimize for reducing add issuer staleness: on issuer not found, 
> have a faster interval to read through to the database. Likely would still 
> need rate limiting.
>  # Operator could call each node in the HA set. This is prone to error and 
> may not be possible if the operator is not colocated in the cluster.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to