[JBoss JIRA] (JBTM-3257) On recovery scan the NullPointerException can be thrown when client side exits prior DONE is delivered from server
by Ondrej Chaloupka (Jira)
[ https://issues.redhat.com/browse/JBTM-3257?page=com.atlassian.jira.plugin... ]
Ondrej Chaloupka updated JBTM-3257:
-----------------------------------
Description:
When triggering recovery on recovery listener it could happen the client side starts sending but does not finish with a new line. For the recovery socket reader it's as there was called no {{flush}} - it still waits for get all information. But meanwhile the socket is closed and buffer reader at the server side gets {{null}} at that poing.
In such case a {{NullPointerException}} can be thrown from the Narayana code.
{code}
WARN [com.arjuna.ats.arjuna] (Server.Connection:127.0.0.1:37264) ARJUNA012338: Other Exception:: java.lang.NullPointerException
at com.arjuna.ats.internal.arjuna.recovery.WorkerService.doWork(WorkerService.java:66)
at com.arjuna.ats.internal.arjuna.recovery.Connection.run(Connection.java:88)
{code}
was:
When triggering recovery on recovery listener it could happen the client side exits before the {{SCAN}} finishes and {{DONE}} is returned back. In such case a {{NullPointerException}} can be thrown from the Narayana code.
{code}
WARN [com.arjuna.ats.arjuna] (Server.Connection:127.0.0.1:37264) ARJUNA012338: Other Exception:: java.lang.NullPointerException
at com.arjuna.ats.internal.arjuna.recovery.WorkerService.doWork(WorkerService.java:66)
at com.arjuna.ats.internal.arjuna.recovery.Connection.run(Connection.java:88)
{code}
> On recovery scan the NullPointerException can be thrown when client side exits prior DONE is delivered from server
> ------------------------------------------------------------------------------------------------------------------
>
> Key: JBTM-3257
> URL: https://issues.redhat.com/browse/JBTM-3257
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: Recovery
> Affects Versions: 5.10.3.Final
> Reporter: Ondrej Chaloupka
> Assignee: Ondrej Chaloupka
> Priority: Minor
>
> When triggering recovery on recovery listener it could happen the client side starts sending but does not finish with a new line. For the recovery socket reader it's as there was called no {{flush}} - it still waits for get all information. But meanwhile the socket is closed and buffer reader at the server side gets {{null}} at that poing.
> In such case a {{NullPointerException}} can be thrown from the Narayana code.
> {code}
> WARN [com.arjuna.ats.arjuna] (Server.Connection:127.0.0.1:37264) ARJUNA012338: Other Exception:: java.lang.NullPointerException
> at com.arjuna.ats.internal.arjuna.recovery.WorkerService.doWork(WorkerService.java:66)
> at com.arjuna.ats.internal.arjuna.recovery.Connection.run(Connection.java:88)
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)