Github user tzulitai commented on the issue:

    https://github.com/apache/flink/pull/2861
  
    Small note (would be great if @static-max can clarify this also) on 
matching the exceptions:
    We can actually use `BulkItemResponse.getFailure().getCause()` to get a 
`Throwable` that we can use to match the exceptions, instead of unstable String 
matching.
    
    After surfing the Javadocs a bit, I think the below exceptions refer to 
what you were trying to catch before:
    - `EsRejectedExecutionException`: the queue on ES node is temporarily full
    - `ElasticsearchTimeoutException`: timeout from Elasticsearch
    - `ClusterBlockException`: no master
    - `UnavailableShardsException` - currently no shards available
    
    @static-max do you think the above exception types are reasonable to be 
considered "temporary" (have you seen them before in logs)? I'm personally a 
bit unsure of the last two. I don't have that much experience with operating an 
Elasticsearch cluster, and their Javadocs really don't say much, so some input 
from you will be helpful :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to