On Nov 5, 2012, at 10:22 AM, Kevin Burton <[email protected]> wrote:

> I am calling CreateDocument<Document>() but I suspect that testing if the 
> document exists first may perform better in the long run. I am using 
> DreamSeat for my driver but I suspect other drivers have a similar "test". My 
> problem is that I don't know what to test for and I am unfamiliar with the 
> available methods. Any one successfully use such a pattern (preferably with 
> DreamSeat) that tests for existence then creates if the document doesn't 
> exist? Keep in mind I don't initially have an id. Thank you.

I don’t know anything about that particular API, but in general, 
check-then-create doesn’t work well in a concurrent environment. It’s prone to 
race conditions where something else creates the resource in between your check 
call and your create call. (The canonical example is checking whether a file 
exists, then creating the file, which is a classic old security hole in 
privileged Unix tools.)

—Jens

Reply via email to