Hi Victor,

Sounds like your transaction is blowing out the shared memory allocated by Berkeley DB to store dirty pages. This is caused by transactions that are too large; putting an entire file of data could well accomplish this. (We really should change the error message to be more informative in these cases).

Try pushing with-transaction into the loop in import-movie as follows:

(defun import-movie (n)
 "Import ratings information for movie number N."
 (iter (for line in-file (movie-filename n) using 'read-line)
   (unless (first-time-p) ; skip first line
     (with-transaction ()
       (collect-rating-info n line)))))

I expect that will fix it.

Ian

PS - Your data representation sounds fine as a first start. You may want to rethink it when you start doing queries and in fact may want to build a custom data structure in static memory for performance reasons once your algorithms and related queries are clear to you.

PS - You may get some additional mileage by increasing the total memory cache size (you should lookup whether the transaction size is correlated with the overall cache size) using the my-config.sexp option (:berkeley-db-cachesize . 20971520)


On Jan 4, 2008, at 3:15 AM, Leslie P. Polzer wrote:


I've decided to put elephant 0.9.1 under some heavy load test, and
play with Netflix data set a little bit. The attached program that
tries to import everything in BerkeleyDB fails when trying to import
movie file number 8 with the following traceback. Do you have any idea
what could be the problem?

No, but we might if you tell us

- OS
- RAM
- Swap limits
- Kernel limits on memory (e.g. /etc/security/limits.conf for GNU/ Linux)
- size of the data you're trying to pull

 Leslie

--
My personal blog: http://blog.viridian-project.de/

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to