Re: [HACKERS] MVCC works in serialized mode!
Bruce Momjian <maillist@candle.pha.pa.us>
From: Bruce Momjian <maillist@candle.pha.pa.us>
To: vadim@krs.ru (Vadim Mikheev)
Cc: hackers@postgreSQL.org
Date: 1998-12-18T19:49:40Z
Lists: pgsql-hackers
Attachments
- (unnamed) (text/plain)
> Bruce Momjian wrote: > > > > > 6. I'm not happy with current deadlock detection code! > > > It seems that backend does DeadLockCheck each time > > > when timer expired - shouldn't this be done _once_, > > > before backend is going to sleep ?! > > > > Not sure. Now that I think of it, it makes sense that if I go to sleep, > > a deadlock is not sudenly going to appear while I am asleep. If a new > > process causes a deadlock, the new process that causes it will see it. > > > > I did not check when I went to sleep because I thought it may be too > > cpu-intensive to do checking on every sleep, but now that I remember it, > > it may be very trivial in cpu time to do the check on every sleep. > > > > I recommend changing it to do it just before every sleep. Let me know > > if you want me to make the change. > > May be we could just reduce first sleep time (60 sec is too long), > do DeadLockCheck _only once_, after first SIGALARM, and after that > just sleep forever ? > Why do DeadLockCheck many times ? > > Let's think more... > > And please consider when lock conflict occures: > > 1. One process tries update row being updated by other. > 2. When reading/writing hashes (I hope to change btrees to > use new buffer context lock code, as heap access methods > do, - this is short term locking without deadlocks and so - > without using lockmanager). > > Vadim > I have applied the following patch. It causes only one deadlock check after a sleep of one second. Applied only to the CURRENT tree. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026