Skip to content

Commit 327022e

Browse files
committed
Add reasonable limit to show failures
1 parent 349efce commit 327022e

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

elasticsearch/helpers/actions.py

+15-8
Original file line numberDiff line numberDiff line change
@@ -528,23 +528,30 @@ def scan(
528528
resp_failures = resp["_shards"].get("failures")
529529
failures = []
530530
if resp_failures is not None:
531-
for resp_failure in resp_failures:
532-
failure = "Failure type[%s] received with reason: %s" % (
533-
resp_failure["reason"]["type"],
534-
resp_failure["reason"]["reason"],
531+
for i in range(5):
532+
if i < len(resp_failures):
533+
failure = "Failure type[%s] received with reason: %s" % (
534+
resp_failures[i]["reason"]["type"],
535+
resp_failures[i]["reason"]["reason"],
536+
)
537+
failures.append(failure)
538+
logger.warning(failure)
539+
540+
if len(resp_failures) > 5:
541+
omitted_failures = len(resp_failures) - 5
542+
failures.append(
543+
"...and %d more omitted failures" % omitted_failures
535544
)
536-
failures.append(failure)
537-
logger.warning(failure)
538545
if raise_on_error:
539546
raise ScanError(
540547
scroll_id,
541-
"Scroll request has only succeeded on %d (+%d skiped) shards out of %d.\n"
548+
"Scroll request has only succeeded on %d (+%d skipped) shards out of %d.\n"
542549
"%s"
543550
% (
544551
resp["_shards"]["successful"],
545552
resp["_shards"]["skipped"],
546553
resp["_shards"]["total"],
547-
"".join(failures),
554+
"\n".join(failures),
548555
),
549556
)
550557
resp = client.scroll(

0 commit comments

Comments
 (0)