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

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Done
    • 5.10.3.Final
    • 5.10.5.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

    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.

      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)
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: