LibmemcachedQueue::done returns an error if mecache_delete returns MEMCACHED_NOTFOUND

Bug #1417151 reported by palik
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Gearman
New
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

Revision history for this message
palik (1-infe-w) wrote :
Changed in gearmand:
assignee: nobody → palik (1-infe-w)
Revision history for this message
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

Revision history for this message
palik (1-infe-w) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.