LibmemcachedQueue::done returns an error if mecache_delete returns MEMCACHED_NOTFOUND

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

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 https://bugs.launchpad.net/gearmand/+bug/700608.

status command show in column two "number of workers active" = X -1. Similar report https://bugs.launchpad.net/gearmand/+bug/700608

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

http://bazaar.launchpad.net/~1-infe-w/gearmand/1.0/revision/806

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

Other bug subscribers