Description
Please allow retry on other statuses as well, not just 429. i.e. You can take in an argument which defaults to [429] or some callback to test the status or the error type.
Use case: sometimes the elasticsearch cluster returns 403 - cluster_block_exception
, like when in maintenance, we want to retry the failed items only.
Currently, with raise_on_error=False
the errors are aggregated but without their data (because _process_bulk_chunk
only adds the data when raise_on_error=True
or in case of a TransportError), so we don't know which of them failed.
with raise_on_error=True
, the bulk stops whenever it encounters the error, and you can't tell in which chunk the error was found and which item should be retried.
https://github.com/elastic/elasticsearch-py/blob/master/elasticsearch/helpers/actions.py