Reviewing the mailing list archives I learned that
Xindice 1.X does not support transactions.
I would like to ask the participants of this
mailing list of any suggestions in terms of how to minimize potential
inconsistencies that may arise in a HTTP/servlet-based application with a
Xindice respository consisting of large number of interrelated small to medium
documents.
In a hypotethical application, users may cancel an
HTTP request that may be executing an Xupdate command that updates various XML
docs in Xindice.
When that happens, the servlet thread is killed and
as a result the Xupdate command is canceled in the middle of its
execution.
As a result, the Xindice db is left
inconsistent.
At least, that's the way I understand it would
work.
That type of consistency problem can be easily
avoided if the db supports transactions. If transactions are available, then any
changes are rolled back in case the HTTP request is cancelled before the
transaction completes.
But with Xindice that is not possible.
I would like to know of suggestions from you guys
on how I can minimize that problem with the current release of
Xindice.
Thanks a lot,
Julio
|