[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmlblaster] Another volatile message bug

David Kerry wrote:

Ok, now that the NPE problems have been resolved, we've run
into another problem, probably related, where volatile messages
are not deleted properly.

Hi David,

this bug should be fixed in the current cvs



What happens is xmlBlaster seems to get itself confused and not delete a volatile message when it should. After it gets into this state, it will never delete the message and continue to re-deliver it to each new subscriber/login that it applies to. It will do this forever as far as I can tell - ie: it will never expire the message either.

Attached are test scripts to reproduce the problem.

Protocol is XML-RPC, BTW.

To reproduce, run the scripts in the following order:

1) perl server2.pl (in xterm #1) 2) perl serverlogin.pl (in xterm #2) 3) perl testpub.pl (in xterm #2)

(server2.pl will spit out 'GOT UPDATE' to note
 that it got the published message via callback)

4) kill server2.pl (ctrl-c in xterm #1)
5) perl testpub.pl (in xterm #2)

 (xmlblaster will kill server2's login because it
  can no longer reach the callback server)

6) perl server2.pl (in xterm #1)
7) perl serverlogin.pl (in xterm #1)

Note that server2.pl now says 'GOT UPDATE' again.
It should not receive a callback at this point - the
message was volatile so it should have been deleted

Continued restarting of server2/serverlogin will
cause the same message to get continually posted
again and again when it should receive nothing at