ws-sandesha-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amila Suriarachchi" <amilasuriarach...@gmail.com>
Subject Sandesha2 synchronization and dead lock handling.
Date Fri, 24 Oct 2008 09:26:09 GMT
hi all,

This is regarding the issue [1].

First of all as I learned Sandesha2 uses different beans to keep the state
of the sequence and the messages. In a dual channel mode
different threads can access these beans and update them concurrently. So
the synchronization of these beans done by using the
storage level transactions. Therefore Sandesha2 needs an storage which
supports isolated transactions.

To synchronize these beans the transactions must be completely isolated. i.e
It should not allow simultaneous reads of
same record from different transactions. Therefore I think the problem I saw
on[1] because not isolating the transactions properly.

Then I increased the transaction isolation to fix the above problem. It
fixed that problem but results in dead locks.
The reason I believe for this dead locks is that different transactions try
to access the data base tables in different order.
But unfortunately I could not fix the issue.

Normally these types of dead locks are prevented by accessing resources in
same order. Does Sandesha2 follows such a order or any
other technique?

Or is there any other reason for this dead locks and synchronization
problems? Can someone
have a better idea of Sandesha2 Design shed some light on this?

thanks,
Amila.


[1] http://issues.apache.org/jira/browse/SANDESHA2-179
-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/

Mime
View raw message