In GearmanClientImpl in method " public <T> Future<T> submit(Callable<T> task) " - subitting a backgroynd job
the code does not throw an error when gearman is down, It return a (Future<T> job) instead and just logs the IOException occured.
So there is no way to tell if gearman is up or down because this always succeds.
Reproducing the situation
---------------
Gearm is up
Client connects to Gearman
We Shitdown gearman
Client submits a background job
In GearmanClientImpl in method " public <T> Future<T> submit(Callable<T> task) " - subitting a backgroynd job
the code does not throw an error when gearman is down, It return a (Future<T> job) instead and just logs the IOException occured.
So there is no way to tell if gearman is up or down because this always succeds.
Reproducing the situation
---------------
Gearm is up
Client connects to Gearman
We Shitdown gearman
Client submits a background job
try {
GearmanJob job = GearmanJobImpl. createBackgroun dJob ( oCall, yload.getBytes( ),
functionT
requestPa
uniqueId);
f = client.submit(job);
} catch (Exception e) { .setErrNo( ComResponse. ERR_SYSTEM_ FAIL); .setErrMessage( e.getMessage( ));
comResponse
comResponse
return comResponse;
}
Code does not reach the catch statement