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

Re: [xmlblaster] When does a topic get marked dead?

David Kerry wrote:
On Wed, Jun 09, 2004 at 10:47:46PM +0200, Michele Laghi wrote:

Hi David,

David Kerry wrote:


I hit enter to publish a message and it gets published, the topic gets created on the server and is subsequently marked 'DEAD'.

Two messages show up in the subscriber window - the publish and
the erase event.  This is fine.

Now, I exit the publish client and run it again, exactly the same.

When you exit the publisher an erase is done. This erase kills the subscriptions on that topic (The subscriber demo does not subscribe on an xpath but on the topic). Subscribing again (or not erasing the topic) solves the problem here but this is not the problem you describe below (since xpath subscriptions are not deleted).

Ahh.. so that explains that bit.

From this point forwards, no messages ever get received by the
subscriber client, regardless of how many times I run the
publish client.

I was trying various combinations of topic destroy delays, maxentry
settings and whatnot to get things to work in my environment, and
this pretty much seems to be the behaviour I'm seeing.  The publish
is made successfully by the publisher, the topic is cleaned up by
the server, but any subscribers to that message (using an xpath
subscription on the message key) never receive the messages.

Any ideas?  Is this a bug, or am I likely doing something wrong

Could you send a small example of your subscription and publish keys together with the dump of the xmlBlaster ?

Oh, fyi - I'm using version 0.901 at the moment.

Could you also try the same on 0.903 ?


Ok, here's a simple setup that demonstrates the problem quite nicely:

Note that in this case, the subscriber receives the published message,
but in my case, this doesn't happen.  I think I may have something
goofed up in the qos (I'm using a custom rolled c client - written
before the current c/c++ library was up to snuff).

run the server - all defaults (v.903 has the same problem, btw).

Run a subscriber client, but use an xpath subscription:

java javaclients.HelloWorldSubscribe -xpath "//org.xmlBlaster"

Then, run a publisher (disabling erase, enabling volatile messages and unique oids per message):

java javaclients.HelloWorldPublish -lifeTime 0 -destroyDelay 0 -session.name foobar -oid "" -erase false -numPublish 100

Then just hit enter a whole lot of times to create 100 new Topics on the server.

Note that they never get deleted.  Or rather, they never get deleted as
long as the subscriber client is still connected.

The *do* seem to get deleted if the subscriber is not using an
xpath subscription...

Yep, this was an open issue in our spec and implementation.

A topic which is referenced by a subscription is not going to DEAD.
We have now fixed this that XPATH subscriptions don't prevent
a topic from dieing, see (*):


Please check out the fix from cvs,

thanks for pointing us to this open issue,


-- http://www.xmlBlaster.org