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

[xmlblaster] Another volatile message bug

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

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

David Kerry

Attachment: testpub.pl
Description: Perl program

Attachment: server2.pl
Description: Perl program

Attachment: serverlogin.pl
Description: Perl program