diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/action/index/TransportIndexAction.java b/modules/elasticsearch/src/main/java/org/elasticsearch/action/index/TransportIndexAction.java index 38f87ab8e0d..9b0fd9881a0 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/action/index/TransportIndexAction.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/action/index/TransportIndexAction.java @@ -107,7 +107,11 @@ public class TransportIndexAction extends TransportShardReplicationOperationActi @Override public void onFailure(Throwable e) { if (ExceptionsHelper.unwrapCause(e) instanceof IndexAlreadyExistsException) { // we have the index, do it - innerExecute(request, listener); + try { + innerExecute(request, listener); + } catch (Exception e1) { + listener.onFailure(e1); + } } else { listener.onFailure(e); }