Client allows endless loops if there is a network issue
kaspergrubbe opened this issue · 4 comments
- Algolia Client Version: Only tested 1.26.0
- Language Version: Not relevant.
Description
This is basically an endless loop:
algoliasearch-client-ruby/lib/algolia/client.rb
Lines 494 to 511 in 55e2fb9
There should be some retry logic, and if enough fails it should throw an error.
Related: when perform a save_objects!
with an empty batch, the taskID
returned from the engine never resolves, resulting in this loop running forever.
client = ::Algolia::Search::Client.create_with_config(
::Algolia::Search::Config.new(
application_id: ENV['ALGOLIA_APP_ID'],
api_key: ENV['ALGOLIA_ADMIN_API_KEY'],
batch_size: ENV['ALGOLIA_BATCH_SIZE']
)
)
index = client.init_index('test-index-name')
index.save_objects!([]) # Hangs forever
We'll need to come up with a proper way to break here after x loops to prevent the infinite loop. I'll discuss this internally to see what we want to do about it.
thanks for looking into the issue : )
This code still seem to be causing endless loops when there's issues on Algolias servers.
@chuckmeyer reached out to me on Twitter, and pointed me to this PR: #487