You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Puchkovskiy (Jira)" <ji...@apache.org> on 2022/03/03 07:40:00 UTC

[jira] [Created] (IGNITE-16640) Peer class loading failure should not be treated as a critical node failure

Roman Puchkovskiy created IGNITE-16640:
------------------------------------------

             Summary: Peer class loading failure should not be treated as a critical node failure
                 Key: IGNITE-16640
                 URL: https://issues.apache.org/jira/browse/IGNITE-16640
             Project: Ignite
          Issue Type: Bug
          Components: compute, persistence
    Affects Versions: 2.12
            Reporter: Roman Puchkovskiy
            Assignee: Roman Puchkovskiy
             Fix For: 2.13


The problematic scenario:
 # Enable p2p class-loading in the cluster
 # Create a cache
 # From a client, obtain a dataStreamer on that cache and set a receiver() which class is only present on the client (so that it is forced to be loaded using p2p)
 # The receiver class, during its operation (inside its receive() method), should initiate loading of another class only present on the client
 # If at the moment, when an attempt is made to load the class mentioned in item 4, the client is not available anymore, a class-loading exception happens on the server node, which is manifested as a NoClassDefFoundError, which is caught and processed by its Failure Handler. If the handler is 'stop-or-halt', the node is stopped.

So the scenario might cause a node failure, even though the original problem is local and transient. We should distinguish between p2p class load errors (which are non-critical) and non-p2p class load errors (which are critical).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)