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)

Reply via email to