[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[udig-devel] [jira] Created: (UDIG-658) Deadlock during committing changes in shapefile data store
|
Deadlock during committing changes in shapefile data store
----------------------------------------------------------
Key: UDIG-658
URL: http://jira.codehaus.org/browse/UDIG-658
Project: uDIG
Type: Bug
Components: shapefile
Versions: UDIG 1.1.M2, UDIG 1.2, UDIG 1.1.1, UDIG 1.1, UDIG 1.0.6
Reporter: Vitali Diatchkov
Assigned to: Jody Garnett
Priority: Blocker
Fix For: UDIG 1.1.M2, UDIG 1.2, UDIG 1.1.1, UDIG 1.1, UDIG 1.0.6
Attachments: commit_locking.gif
As I remember I described this problem earlier, but can't fins that old issue, so open the new one.
The screenshot is in attachment.
The problem: during committing of changes to shapefile the deadlock happens because of rendering and committing threads.
Ont the screenshot one of possible scenarios is drawn
1 - committing thread calls TransactionStateDiff.commit()
between 1 and 2 at least one of rendering threads locks shapefile data store for reading
2 - rendering threads are locked because of TransactionStateDiff.diff() is synchronized with TransactionStateDiff.commit().
3 - committing thread tryes to lock shapefile data store for writing but it was locked already for reading -> committing thread waits infinite time.
4 rendering threads are locked because of TransactionStateDiff.diff() method is synchronized with TransactionStateDiff.commit().
The deadlock is got.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira