[
https://issues.apache.org/jira/browse/KNOX-3445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18113338#comment-18113338
]
Sandor Molnar commented on KNOX-3445:
-------------------------------------
To be inconsistent with TokenStateService, I recommend the following:
* remove the buggy Empty* stub
* have H2 implementation as the default one
* remove the related helper methods (isKnoxIdfEnabledInAnyTopology(), etc...)
This needs to be implemented in
* TrustedOidcIssuerServiceFactory
* DelegationPolicyServiceFactory
*
FederatedIdentityServiceFactory
> KnoxIDF admin service stays disabled (Empty stub) when KNOXIDF_ADMIN topology
> is hot-deployed after gateway startup
> -------------------------------------------------------------------------------------------------------------------
>
> Key: KNOX-3445
> URL: https://issues.apache.org/jira/browse/KNOX-3445
> Project: Apache Knox
> Issue Type: Bug
> Components: Server
> Affects Versions: 3.1.0
> Reporter: Tamás Hanicz
> Priority: Blocker
>
> TrustedOidcIssuerServiceFactory / DelegationPolicyServiceFactory decide
> between the real backend (JDBC/H2) and EmptyTrustedOidcIssuerService once, at
> gateway startup, via isKnoxIdfEnabledInAnyTopology(). If no
> KNOXIDF/KNOXIDF_ADMIN topology exists at that moment, the no-op stub is
> selected and kept for the life of the JVM.
> When such a topology is deployed after startup (hot reload), the REST
> resources start serving, but the backing service is still the stub. Result:
> - GET .../trusted-oidc-issuers → [] (Empty.list())
> - POST .../trusted-oidc-issuers → Empty.register() throws
> UnsupportedOperationException → caught as generic 500 storage_error "Failed
> to register issuer", with no error logged.
> The 500/storage_error is misleading (implies a DB failure) and there's no log
> pointing to the real cause. Also there are no error logs.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)