[
https://issues.apache.org/jira/browse/IGNITE-29209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anton Vinogradov updated IGNITE-29209:
--------------------------------------
Description:
Give SSL factory subclasses an explicit way to reload their settings, keys and
trust material. This is the factory operation used by the running-node reload
command in IGNITE-29210.
h3. Behavior
Add protected final {{void init()}} to {{AbstractSslContextFactory}}. Reuse the
existing loading hooks and context cache. After successful loading, the base
{{create()}} returns the replacement context. If loading fails, report the
error and keep the previous context.
Keep normal {{create()}} behavior unchanged. This ticket does not update
running transports, add commands, schedule work or expose certificate metadata.
h3. Acceptance and compatibility
Test successful replacement after the factory has been used and preservation of
the previous context after failed loading.
Keep the protected {{sslCtx}} field and existing hooks. A subclass declaring
its own no-argument {{init()}} must rename it and be recompiled; previously
compiled subclasses with that method may fail to load because the new method is
final.
[PR #13751|https://github.com/apache/ignite/pull/13751]
was:
A subclass of {{AbstractSslContextFactory}} can call the protected {{init()}}
method to pick up updated TLS settings and stores before a node restarts with
the same factory instance. If loading succeeds, the base {{create()}} returns
the new context. If it fails, the previous context stays cached.
h3. Compatibility
{{init()}} is final. If your subclass already declares a no-argument {{init()}}
method, rename it and recompile the subclass before upgrading. A subclass built
against an earlier release may fail to load.
[PR #13751|https://github.com/apache/ignite/pull/13751]
> Allow SSL context factories to reload their context
> ---------------------------------------------------
>
> Key: IGNITE-29209
> URL: https://issues.apache.org/jira/browse/IGNITE-29209
> Project: Ignite
> Issue Type: Sub-task
> Reporter: Anton Vinogradov
> Assignee: Anton Vinogradov
> Priority: Major
> Labels: ise
> Time Spent: 5.5h
> Remaining Estimate: 0h
>
> Give SSL factory subclasses an explicit way to reload their settings, keys
> and trust material. This is the factory operation used by the running-node
> reload command in IGNITE-29210.
> h3. Behavior
> Add protected final {{void init()}} to {{AbstractSslContextFactory}}. Reuse
> the existing loading hooks and context cache. After successful loading, the
> base {{create()}} returns the replacement context. If loading fails, report
> the error and keep the previous context.
> Keep normal {{create()}} behavior unchanged. This ticket does not update
> running transports, add commands, schedule work or expose certificate
> metadata.
> h3. Acceptance and compatibility
> Test successful replacement after the factory has been used and preservation
> of the previous context after failed loading.
> Keep the protected {{sslCtx}} field and existing hooks. A subclass declaring
> its own no-argument {{init()}} must rename it and be recompiled; previously
> compiled subclasses with that method may fail to load because the new method
> is final.
> [PR #13751|https://github.com/apache/ignite/pull/13751]
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)