a blank unique_key means gearmand fails to add any background jobs when mysql persistent queues are used
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gearman |
Won't Fix
|
High
|
Eric Day |
Bug Description
When running gearmand backed onto a mysql database for queue persistence, only one job of any type can be added. This appears to be because the SQL used to insert the jobs has a blank value for "unique_key" which is the primary key of the queue table.
I'm running gearmand 0.10 with a command like the following:
/usr/local/
I do not get a job handle back when calling the perl client with Gearman:
Looking at the gearmand logs I see lines like:
DEBUG [ 0] :::43190 Received SUBMIT_JOB_BG
DEBUG libdrizzle add:
CRAZY libdrizzle query: INSERT INTO gearman_queue1 SET priority=
FATAL _libdrizzle_
INFO [ 0] :::43190 Disconnected
This seems to indicate that the SQL being build up by the gearmand has a blank value for unique_key. This causes all jobs subsequent to the first to fail to be added.
I don't program in c, but the problem seems to be in the libgearman-
I'm using libdrizzle-0.4 if that makes a difference.
Any ideas?
Dave.
summary: |
- gearmand fails to add background job when mysql persistant queues are - used + a blank unique_key means gearmand fails to add any background jobs when + mysql persistent queues are used |
Looking further into the source, libgearman- server/ queue_libdrizzl e.c has the code that actually builds up the SQL (starting at line 369).