On 8/20/07, <b class="gmail_sendername">Vsevolod Balashov</b> &lt;<a href="mailto:vsevolod@balashov.name">vsevolod@balashov.name</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ok. My &quot;Database&quot; class may be bug or may be feature. I don`t know.<br><br>I make commits and rollbacks in threads and cant find differences<br>between 1 connection or many =)<br><br>If this feature don`t like - just not use it :)
</blockquote><div><br><br>IMO, it really is a bug. It breaks all the assumptions that Storm makes about the database backend. You probably haven&#39;t noticed any problems yet because your concurrency has not been high enough, or you don&#39;t have enough users exercising the code at once, or your data manipulation is very simple, or just by accident — but you *will* run into problems your application scales in any of these aspects. It is very similar to thread programming in general; it&#39;s very easy to think you have code that works until the kernel pre-empts you at a time you didn&#39;t expected to be pre-empted at, and it often won&#39;t be noticed until you&#39;re already in production. The same applies here.
<br><br>I don&#39;t have the time to write up an example of the bug right at the moment, but it should be pretty simple to fix if you just leave out your Database class entirely. The thing I still don&#39;t understand is why you thought you needed to add that implementation of Database at all.&nbsp; Were you trying to solve another problem?
<br></div><br></div><br>-- <br>Christopher Armstrong<br>International Man of Twistery<br><a href="http://radix.twistedmatrix.com/">http://radix.twistedmatrix.com/</a><br><a href="http://twistedmatrix.com/">http://twistedmatrix.com/
</a><br><a href="http://canonical.com/">http://canonical.com/</a><br>