Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Database Server Software > Sybase

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-08-2008, 06:19 PM
db
 
Posts: n/a
Default deadlock

i need some help with a deadlock situation -

i have a situation where the point of contention is a single table
(rather some row/s in a table, i think).

looking thru the logs and here is what i see -
one process is trying to insert data in the table x and has held
exclusive "page" lock
and the other process is trying to do an update and has also held an
exclusive "page" lock

i have been asked to do a implement a retry thru the application when
this happens but
i would like to prevent or reduce the possiblity of this if there is
some way...

can someone suggest the possible reasons,etc., or what can cause this
to happen ...i check for...
any help would be appreciated..


thanks in advance,
db

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-08-2008, 06:19 PM
Larry Coon
 
Posts: n/a
Default Re: deadlock

db wrote:

> can someone suggest the possible reasons,etc., or what can cause this
> to happen ...i check for...
> any help would be appreciated..


The canonical case for causing deadlocks is to have transactions
that operate on the same tables in differnt orders. For example:

First transaction:

begin transaction
update table_a . . .
update table_b . . .
commit transaction

Second transaction:

begin transaction
update table_b . . .
update table_a . . .
commit transaction

If these transactions are run in parallel frequently, sooner or
later you will have a case where each transaction has performed
its first update, and is waiting on the other to release its lock
so it can proceed to the second update.

The fix (and the general advice) is to make sure your transactions
acquire resources in the same order. Other advice is to keep your
transactions as short as possible, and possibly increase lock
granularity (row locks instead of page locks, and/or page locks
instead of table locks), and/or locking scheme (datapage instead
of allpage).


Larry Coon
University of California
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 04:58 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145