When indexing, the cron function does a node_load($nid). This will cause the node to be statically cached and can cause the memory limit to be reached. Since the node will not be needed later again, I propose to not statically cache it by doing node_load(array('nid' => $nid))

See attached patch.

CommentFileSizeAuthor
#3 xapian.patch579 bytesgerhard killesreiter
xapian.patch780 bytesgerhard killesreiter

Comments

jeremy’s picture

Status: Needs review » Reviewed & tested by the community

Yes, this should be committed. Marking it as reviewed and to commit.

jeremy’s picture

Status: Reviewed & tested by the community » Fixed

Patch committed.

gerhard killesreiter’s picture

Status: Fixed » Needs review
StatusFileSize
new579 bytes

Sorry, this patch was of course bogus. While it does not get the next node from the cache, it will not suppress the use of the cache at all. With this new patch I can index 10000 nodes on a setup where I was only able to index 200 previously.

jeremy’s picture

Status: Needs review » Reviewed & tested by the community

My bad for not catching that. Indeed, the loaded node will be cached statically if there is no revision specified. So yes, the reset is the correct thing to do.

jeremy’s picture

Status: Reviewed & tested by the community » Fixed

Committed to 6.x-1.x-dev. Thanks!

jeremy’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.