Sidnei da Silva wrote:
> I remember having a conversation with Jim at some point where he
> proposed a strategy for requests that could potentially take a long
> time to finish. If I recall correctly, he proposed having a separate
> ZODB connection pool.
> One thing that is problematic today is serving large files
> from the ZODB (ignoring the upcoming blob support).
> a) You can't return an iterator that reads from the ZODB, because by
>    the time the iterator is consumed the connection has already been
>    closed. I believe the iterator is not consumed in the same thread,
>    which can cause yet more issues.
> b) If you dump the data to a temp file and return that as a file
>    iterator, it can potentially take twice the time.
> c) If you use RESPONSE.write() you can break other
>    applications. ExternalEditor comes to mind.
> d) If you just return the file as a string you can potentially run out
>    of memory if the file is too big.
> I would like to be able to return an iterator that can read from the
> ZODB. That would probably benefit the WSGI integration as well. Anyone
> has ideas about how to solve this?

I wonder whether this statement is true:

   Any connection handed out after the connection breaks the ACID
   compliance of the request.

I think this is because:

   When finishing the actual work we have to either commit or abort the
   running transaction.

   In the time until we set up another transaction, there already might
   have been a change to the database by a third transaction, making the
   request neither isolated nor atomic.

My statement is probably only true for all solutions not paying
attention to the statement. ;)


gocept gmbh & co. kg - forsterstra├če 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development

Attachment: signature.asc
Description: OpenPGP digital signature

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to