error in deleting a completed job from drizzle persistent queue
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gearman |
Fix Released
|
Medium
|
Brian Aker |
Bug Description
>gearmand -vvvvv -q libdrizzle --libdrizzle-
when a testq job is completed, gearmand can't delete the completed jobs from the queue,the error log as follows:
DEBUG [ proc ] libdrizzle done: 04ba70b4-
ERROR [ proc ] snprintf(
ERROR [ proc ] Remove from persistent queue(QUEUE_ERROR) -> libgearman-
I have checked the source code , and found the following codes near 416 line on libgearman-
ssize_t query_size= (ssize_
if (query_size < 0 || query_size > (ssize_
{
return GEARMAN_
}
...delete operation codes
I added some debug information and rebuild the source code, and I found the value of (ssize_
that is the if condition is always true, and delete operation is never invoked.
IMHO, I think it is may not proper that the sizeof operator is used to get the real size of the query object.
when I try query.size(), it will work normally, and the completed jobs can be deleted successfully.
Best Regards
Changed in gearmand: | |
assignee: | nobody → Brian Aker (brianaker) |
status: | New → Incomplete |
Changed in gearmand: | |
importance: | Undecided → Medium |
Changed in gearmand: | |
status: | Fix Committed → Fix Released |
additional, the version of gearmand is 0.20.