Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-3257

On recovery scan the NullPointerException can be thrown when client side exits prior DONE is delivered from server

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 5.10.5.Final
    • 5.10.3.Final
    • Recovery
    • None
    • Hide
      • start WildFly app server
      • enable recovery listner /subsystem=transactions:write-attribute(name=recovery-listener,value=true)
      • trigger recovery and exit early sleep 3; echo SCAN; sleep 10; echo exit | telnet localhost 4712
      Show
      start WildFly app server enable recovery listner /subsystem=transactions:write-attribute(name=recovery-listener,value=true) trigger recovery and exit early sleep 3; echo SCAN; sleep 10; echo exit | telnet localhost 4712

      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.

      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)
      

              ochaloup@redhat.com Ondrej Chaloupka (Inactive)
              ochaloup@redhat.com Ondrej Chaloupka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: