Konstantin Orlov created IGNITE-16585:
-----------------------------------------

             Summary: NPE during exception handling in DelegatingStateMachine
                 Key: IGNITE-16585
                 URL: https://issues.apache.org/jira/browse/IGNITE-16585
             Project: Ignite
          Issue Type: Bug
            Reporter: Konstantin Orlov


Exception handling in 
org.apache.ignite.internal.raft.server.impl.JraftServerImpl.DelegatingStateMachine#onApply
 can't handle an exceptions witout a message. The problem is caused by 
constructor method of the Status class which uses a passed message as a 
template and tries to rende it without any null checking. This results in 
another NPE (stacktrace is showed below) error that hides the original one.


{code:java}
2022-02-18 17:45:26:311 +0300 
[ERROR][%ItIndexDdlTest_null_2%JRaft-FSMCaller-Disruptor-_stripe_19-0][StripedDisruptor]
 Handle disruptor event error 
[name=%ItIndexDdlTest_null_2%JRaft-FSMCaller-Disruptor-, 
event=org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTask@72ea5694, 
hasHandler=false]
java.lang.NullPointerException
        at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1770)
        at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
        at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
        at java.base/java.util.regex.Pattern.matcher(Pattern.java:1133)
        at java.base/java.util.Formatter.parse(Formatter.java:2700)
        at java.base/java.util.Formatter.format(Formatter.java:2655)
        at java.base/java.util.Formatter.format(Formatter.java:2609)
        at java.base/java.lang.String.format(String.java:2897)
        at org.apache.ignite.raft.jraft.Status.<init>(Status.java:108)
        at 
org.apache.ignite.internal.raft.server.impl.JraftServerImpl$DelegatingStateMachine.onApply(JraftServerImpl.java:445)
        at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl.doApplyTasks(FSMCallerImpl.java:539)
        at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl.doCommitted(FSMCallerImpl.java:507)
        at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl.runApplyTask(FSMCallerImpl.java:437)
        at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:134)
        at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:128)
        at 
org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:215)
        at 
org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:179)
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:137)
        at java.base/java.lang.Thread.run(Thread.java:834)
{code}




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

Reply via email to