Gearman client requests to offline slave on a job request causes gearman jobs to unregister however the jobs never re-register so no other requests will get processed. The only way to get the job re-registered is if you restart the gearman plugin service in the Jenkins global settings. This only happens when there are multiple executors setup on a node.
Steps to repro:
1. setup a jenkins job (do not set the label and set to run concurrently)
2. setup a slave with multiple executors (do not setup a label)
3. install gearman-plugin
4. start/connect the gearman-plugin service to a gear server. make sure jobs have been registered.
5. use the [gearman-plugin-client https://github.com/zaro0508/gearman-plugin-client] to request a job with OFFLINE_NODE_WHEN_COMPLETE=true and iterations=number_of_executors
gear_client.py --function=build:myjob --iterations=2 --params='
6. gearman jobs get unregistered as expected.
7. bring the node back online.
gearman jobs should re-registered but it does not therefore no other job requested get serviced.