Tamás Hanicz created KNOX-3445:
----------------------------------
Summary: 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
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)