You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2020/02/04 17:26:00 UTC

[jira] [Created] (IGNITE-12621) Node leave may cause NullPointerException during IO message processing if security is enabled

Vyacheslav Koptilin created IGNITE-12621:
--------------------------------------------

             Summary: Node leave may cause NullPointerException during IO message processing if security is enabled
                 Key: IGNITE-12621
                 URL: https://issues.apache.org/jira/browse/IGNITE-12621
             Project: Ignite
          Issue Type: Bug
            Reporter: Vyacheslav Koptilin
            Assignee: Vyacheslav Koptilin
             Fix For: 2.9


In case the node will receive IO message from a dead node *after* receiving discovery message about node fail, {{ctx.discovery().node(uuid)}} will return {{null}}, which in turn will cause {{NullPointerException}}.
We can fix it by peeking disco cache history for retrieving attributes of the dead node.

See:
{code}
    /** {@inheritDoc} */
    @Override public OperationSecurityContext withContext(UUID nodeId) {
        return withContext(
            secCtxs.computeIfAbsent(nodeId,
                uuid -> nodeSecurityContext(
                    marsh, U.resolveClassLoader(ctx.config()), ctx.discovery().node(uuid)
                )
            )
        );
    }
{code}


{noformat}
Caused by: java.lang.NullPointerException
	at org.apache.ignite.internal.processors.security.SecurityUtils.nodeSecurityContext(SecurityUtils.java:135)
	at org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.lambda$withContext$0(IgniteSecurityProcessor.java:112)
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
	at org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.withContext(IgniteSecurityProcessor.java:111)
{noformat}






--
This message was sent by Atlassian Jira
(v8.3.4#803005)