Reimplemented the ZEO Blob protocol:
- Avoid more than one round-trip call when loading blobs via copy from the server. - Avoid loading large amounts of blob data into memory. The old storeBlob implementation was likely to queue blob adta faster than it could be sent, leading to a large memory foot print for the queue. Now, iterators are used to read data from files only when the network layer is ready to send it. - Fixed storeBlob to move the input file to the blob cache (when not sharing the blob directiry with the server). - Extended the loadBlob locking model to work with multiple processes by using file locks rather than threading locks. A common configuration is to use a client process per core, so that a machine is likely to have many client processes and it should be possible for the client processes to share a common blob cache.
Showing
Please register or sign in to comment