MySQL Forums
Forum List  »  memcached

Bulk memcache reads causing WRITE ERRORs?
Posted by: Peter Go
Date: November 01, 2012 11:02AM

Hello folks,

I'm in PHP doing a memcached->getMulti() of about 5000 keys. The read succeeds, but subsequent writes with memcached->set() of 1 key fails with:

error_code 47 (SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY)

When I remove the getMulti() calls altogether then I get no write errors. I've tried chunking the reads (read 100x @ 50 keys each) but to no avail. However if I introduce a sleep factor between chunk reads then the write errors do go away, but running this way is too slow for our required service level.

It almost appears like ndbcluster is being inundated by the bulk reads and actually isn't "done" when getMulti() returns? When I turn on debugging in memcache I see screens and screens of trace data spewing way long after getMulti() has returned. But this may just be due to I/O delay?

Is there a practical limit on max no. of keys to read with getMulti()? Is it non-blocking by default? How can I get more specific cause info for error 47?

I can certainly come up with more techniques to mitigate large bulk reads, but I'm afraid I may be treating the sympton and not the root problem. By the way I never had this write issue before - code was running reliably for days with getMulti() retrieving 6000 keys at a time with no write errors, and the MySQL Cluster setup has not changed!

Thanks in advance for ANY help!
Peter

Options: ReplyQuote


Subject
Views
Written By
Posted
Bulk memcache reads causing WRITE ERRORs?
4264
November 01, 2012 11:02AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.