currently running jobs are executed on reconnect to server.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gearman Java |
New
|
Undecided
|
Unassigned |
Bug Description
I am getting this behavior because my client causes an ERROR event to occur in the gearman worker.
steps to repro:
1. create a gearman worker and start it (make worker run for about 10 seconds)
2. run the gearman server
3. create a gearman client to start the worker
4. While the worker is running force an Error packed to the GearmanSessionEvent
Note - this will cause the worker to close the session then reconnect with the server (the currently running job is still on the gearman queue). After the worker reconnecs to the server it will grab the job on the queue and run it again, even though the job is in the "RUNNING" state. The net result is duplicate runs by the gearman worker.
The worker should not run jobs that are are already in the RUNNING state.