Timing Issue in the Splunk_Job class #34
Description
Hi,
I've found an issue in the fetch method of the Splunk_Job
class.
If you try to run a complex search query and/or the searchhead is under heavy load a query can stay in the Queued or Parsing dispatchState for longer than ~1 second which leads to an Splunk_HttpException
with the Error Message "HTTP 200 OK".
The Problem occurs if you run the search async like in this example.
The method calls isDone
, getProgress
and refresh
are possible triggers as well as any other method invoking a method which calls Splunk_Job->fetch
.
There are multiple ways (increase timeout, increase number of retries...) how to work around this issue but to properly resolve it a proper isReady
method should be implemented and used.
For example see how the python sdk implemented this:
is_ready method
usage of this method (just ignore the missing call to sleep before pass command ;))
It's an elegant solution. Whats your opinion?