Re: [WebDNA] Re: exclusivelock
This WebDNA talk-list message is from 2011
It keeps the original formatting.
numero = 107021
interpreted = N
texte = reply at the bottom (good to look there in general, even though we are =not in the habit of bottom posting on this list)> Basically, as long as a lock can be acquired, the interior WebDNA> will be executed.. a test like this:>=20> ----------------> [Exclusivelock db=3Dsome.db]> [loop...]> Searching (or other) that keeps some.db busy for a few minutes.> [/loop]> [/Exclusivelock]>=20> Then in another browser, try to do something to some.db.> ---------------->=20> will result in the second hit waiting until the code within the =exclusivelock is finished.>=20> ----------------> [loop...]> Searching (or other) that keeps some.db busy for a few minutes.> [/loop]>=20> Then in another browser, try to do something to some.db.> ---------------->=20> In the immediately above example, the hit in the second browser will =not wait.>=20> As for deadlocks, I don't know the inner workings of WebDNA well =enough off the top of my head to tell you exactly what goes on, but I =seem to remember some mechanism to deal with deadlock possibilities =native to the WebDNA database engine (separate from Exclusivelock).. but> I could be wrong.>=20> For what it's worth, I started using Exclusivelock many years ago> for situations such as described above... which is what the docs say =it's purpose is for. However, I could see how using [Exclusivelock ..] =would be an extra firewall against deadlocks as well... obviously, you =can't have a deadlock if no other threads are accessing the file. ;-)Thanks Donovan!In the OP, Grant Hulbert was telling the OP to check for windows =antivirus software as the culprit that was causing "..deadlock..." error =msgs. when webdna code was trying to access a db.He said,"> Yes, antivirus software on Windows is notorious for grabbing exclusive =file locks on large files, and even worse: the scan gets triggered every =time the file is modified. Turn off virus scanning for db files, because =those are not executables anyway.>=20> Also, best to wrap an [ExclusiveLock]...[/ExclusiveLock] around the =outside of all that visitor-counter code, because all it takes is two =visitors to hit the site simultaneously to cause the DB to deadlock. =You'll run into this on any multithreaded programming language."...which tempts us to feel satisfaction in letting our minds rest (that =we now think we know how to use [ExclusiveLock]...[/ExclusiveLock]; that =his explanation is in congruity with what you wrote), *except* that his =message seems to imply that the [ExclusiveLock]...[/ExclusiveLock] =wrapper would *PREVENT* a deadlock in the case the OP was facing, rather =than what you are saying which seems to be that the use of =[exclusivelock] (apart from having value in forcing webdna to wait until =some db-operation is done before being able to touch the db again) =might *CAUSE* a deadlock in the case the OP was facing. Or am I missing something in my understanding in what you, or Grant, =are saying?Anyone please feel free to chime in if I am too dense this morning, =thanks,-Govinda
Associated Messages, from the most recent to the oldest:
reply at the bottom (good to look there in general, even though we are =not in the habit of bottom posting on this list)> Basically, as long as a lock can be acquired, the interior WebDNA> will be executed.. a test like this:>=20> ----------------> [Exclusivelock db=3Dsome.db]> [loop...]> Searching (or other) that keeps some.db busy for a few minutes.> [/loop]> [/Exclusivelock]>=20> Then in another browser, try to do something to some.db.> ---------------->=20> will result in the second hit waiting until the code within the =exclusivelock is finished.>=20> ----------------> [loop...]> Searching (or other) that keeps some.db busy for a few minutes.> [/loop]>=20> Then in another browser, try to do something to some.db.> ---------------->=20> In the immediately above example, the hit in the second browser will =not wait.>=20> As for deadlocks, I don't know the inner workings of WebDNA well =enough off the top of my head to tell you exactly what goes on, but I =seem to remember some mechanism to deal with deadlock possibilities =native to the WebDNA database engine (separate from Exclusivelock).. but> I could be wrong.>=20> For what it's worth, I started using Exclusivelock many years ago> for situations such as described above... which is what the docs say =it's purpose is for. However, I could see how using [Exclusivelock ..] =would be an extra firewall against deadlocks as well... obviously, you =can't have a deadlock if no other threads are accessing the file. ;-)Thanks Donovan!In the OP, Grant Hulbert was telling the OP to check for windows =antivirus software as the culprit that was causing "..deadlock..." error =msgs. when webdna code was trying to access a db.He said,"> Yes, antivirus software on Windows is notorious for grabbing exclusive =file locks on large files, and even worse: the scan gets triggered every =time the file is modified. Turn off virus scanning for db files, because =those are not executables anyway.>=20> Also, best to wrap an
[exclusivelock]...[/ExclusiveLock] around the =outside of all that visitor-counter code, because all it takes is two =visitors to hit the site simultaneously to cause the DB to deadlock. =You'll run into this on any multithreaded programming language."...which tempts us to feel satisfaction in letting our minds rest (that =we now think we know how to use
[exclusivelock]...[/ExclusiveLock]; that =his explanation is in congruity with what you wrote), *except* that his =message seems to imply that the
[exclusivelock]...[/ExclusiveLock] =wrapper would *PREVENT* a deadlock in the case the OP was facing, rather =than what you are saying which seems to be that the use of =
[exclusivelock] (apart from having value in forcing webdna to wait until =some db-operation is done before being able to touch the db again) =might *CAUSE* a deadlock in the case the OP was facing. Or am I missing something in my understanding in what you, or Grant, =are saying?Anyone please feel free to chime in if I am too dense this morning, =thanks,-Govinda
Govinda
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
WebCat, switching from NT to OSX (2003)
Include Troubles (1998)
Location of Browser Info.txt file (1997)
Anyone get webdna to run on apache 2.x on osx? (2006)
Mac -Shareware Listserver (1998)
Trouble with formula.db (1997)
bug in [SendMail] (1997)
PCS Emailer's role ? (1997)
A multi-processor savvy WebCatalog? (1997)
Re:Password Authentication - request example (1998)
pop up menu's (1998)
wish list (2002)
Stinkin' [Referrer] (1998)
RE:It just Does't add up!!! (1997)
help needed: Non-english characters in WebCatalog (1997)
Exclamation point (1997)
XML Woes [Hijacked Thread] (2004)
Fwd: search engine friendly URLS (Mac) (1998)
Announcing general availabilty of WebDNA 4.5 release (2002)
Install Webcatalog under NT4.0 and Microsoft IIS 2.0 (1997)