Marcel Ruff wrote:
Although we see this bug with volatile messages, I believe
it would affect all users.
The problem was that when one client subscribed multiple
times to the same message (xpath), the subscription-id
was wrong when a published message matched.
For example, if I subscribed looking for //foo 3 times from
the same client, then publish a message that matches //foo,
from another client, the first one will get 3 update callbacks,
but depending on the timing, the subscription-id will be
duplicated or wrong for the given subscription.
Attached is a patch which includes a comment in the relevant
section on what was happening specifically.
It's not pretty, but it works for now for me. A proper
fix will require some slight interface changes in the
callback worker classes.
David,
currently Michele Laghi and myself do on a seperate cvs branch
a major core redesign of xmlBlaster .
Features like pipelining persistent and transient
queues with cache and swapping support, message expiry
and dispatcher plugins are developed.
Your volatile problems are addressed there as well.
Now we have a conflict:
(1) Putting all efforts into the new development and
merge the changes a.s.a.p back into the main cvs branch.
-> This option is the pereferred one for Michele and myself
(2) Fixing volatile etc. in the main branch.
-> This may be of interest for users under pressure to deliver
their application
For the moment we put all effort into (1) and hope people
with problem (2) find a work around.
If complains grow we need to discuss approach (2).
Schedule of merging (1) into cvs main branch is enbetween
minimum 1 week to maximum 1.5 month.
regards,
Marcel