[ 
https://issues.apache.org/jira/browse/IGNITE-29209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anton Vinogradov updated IGNITE-29209:
--------------------------------------
    Description: 
Allow a used SSL factory to reload its TLS settings, keys and trust material. 
This provides the factory operation needed by IGNITE-29210.

h3. What to deliver

# Expose an explicit reinitialization operation to factory subclasses.
# After successful loading, subsequent {{create()}} calls use the replacement. 
If loading fails, return the error and preserve the previous context.
# Preserve normal cached {{create()}} behavior, existing key/trust loading 
hooks and the protected cache field.
# Document compatibility requirements for existing subclasses.

h3. Acceptance

Verify successful reinitialization after the factory has been used and 
preservation of the previous context after a failed load.

Running-node commands, transport changes, certificate timing and scheduling 
belong to later tickets.

[Implementation and checks: PR 
#13751|https://github.com/apache/ignite/pull/13751]

  was:
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]


> 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
>
> Allow a used SSL factory to reload its TLS settings, keys and trust material. 
> This provides the factory operation needed by IGNITE-29210.
> h3. What to deliver
> # Expose an explicit reinitialization operation to factory subclasses.
> # After successful loading, subsequent {{create()}} calls use the 
> replacement. If loading fails, return the error and preserve the previous 
> context.
> # Preserve normal cached {{create()}} behavior, existing key/trust loading 
> hooks and the protected cache field.
> # Document compatibility requirements for existing subclasses.
> h3. Acceptance
> Verify successful reinitialization after the factory has been used and 
> preservation of the previous context after a failed load.
> Running-node commands, transport changes, certificate timing and scheduling 
> belong to later tickets.
> [Implementation and checks: PR 
> #13751|https://github.com/apache/ignite/pull/13751]



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to