You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kandula-dev@ws.apache.org by Dobri Kitipov <kd...@gmail.com> on 2007/08/16 12:16:07 UTC
Kandula2 failure use-cases
Hi everybody,
I am interested about some failure use cases which can occur into a WS
Transaction.
If some has some information it will be appreciated
The use cases:
1) What will happen if a WS goes down during the 2PC of the WS TX? What
about if it has succeeded to vote prepared?
If, for example, all WS have voted "prepared", finally commit will be
invoked. How the WS that became unavailable in this specific moment will be
treated? Will it receive the SOAP message to commit when it is again up and
running? Or rollback will be invoked after the WS Transaction?
2) Another interesting scenario is when we have the Coordinator service down
during a WS TX? What will happen then?
Let's say we have 2 WS. The WS1 succeeded to commit but just before to
invoke "Commit" to WS2 AtomicTransactionCoordinator fails. What will happen
with the WS TX?
I will make some tests when i find some time top do so and then will post
the results.
Thank you in advance guys!
Re: Kandula2 failure use-cases
Posted by Hannes Erven <ha...@erven.at>.
Hi Dobri,
I'm not an Kandula 2 expert, but I feel your questions are not product
specific but rather general WS-Transaction related, so I'll give it a shot.
> 1) What will happen if a WS goes down during the 2PC of the WS TX? What
> about if it has succeeded to vote prepared?
A WS that reported "prepared" should already have the information about
the transaction stored reliably, so that it may resume its participation
once it comes up again.
The coordinator of the atomic transaction will repeatedly try to
transmit the final "commit" notification to this participant until it
succeeds (or some configured timeout stops them).
> Or rollback will be invoked after the WS Transaction?
This is impossible - the coordinator notifies all participants at the
same moment of the "commit". Even if some participants cannot be
immediately reached, the coordinator cannot redecide since the
participants that were reachable already have permanently committed and
left the transaction.
> 2) Another interesting scenario is when we have the Coordinator service
> down during a WS TX? What will happen then?
> Let's say we have 2 WS. The WS1 succeeded to commit but just before to
> invoke "Commit" to WS2 AtomicTransactionCoordinator fails. What will
> happen with the WS TX?
Before sending out commit/rollback notifications the coordinator also
will reliably store its transaction result. As soon it comes up again,
it will resume its operation and notify the other participants.
If it doesn't come up again, then yes, there is a problem: the
transaction on WS2 will hang forever, and also the user doesn't get a
confirmation back.
> I will make some tests when i find some time top do so and then will
> post the results.
As far as I know neither Kandula_1 nor Kandula_2 reliably store
transaction metadata away, so if they go down they forget about all
running transactions. This is definitely something to improve ;-)
-hannes
---------------------------------------------------------------------
To unsubscribe, e-mail: kandula-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: kandula-dev-help@ws.apache.org