LibmemcachedQueue::done returns an error if mecache_delete returns MEMCACHED_NOTFOUND

Bug #1417151 reported by palik on 2015-02-02
This bug affects 2 people
Affects Status Importance Assigned to Milestone

Bug Description

to reproduce the error start gearmand with libmemcached persistence and create a set X of background jobs without unique key. then start a worker to do the jobs. the first worker-execution will be done without any error. Reminding X-1 executions produce QUEUE_ERROR as described in

status command show in column two "number of workers active" = X -1. Similar report

All the jobs are well done by the worker. The only error is in memcached_delete result evaluation. Expected result is MEMCACHED_SUCCESS, not MEMCACHED_NOTFOUND.

Compare MySQL and libmemcache plugins. MySQL plugin check only mysql_stmt_execute result, which doesn't return an error if nothing was deleted. So by using MySQL the error doesn't occur.

Related branches

palik (1-infe-w) wrote :
Changed in gearmand:
assignee: nobody → palik (1-infe-w)
palik (1-infe-w) wrote :

unique size assertion in memcache callback_loade avoids restart if unique keys weren't use

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers