Limit max depth when building mapping of group depths to avoid hitting recursion limit. Fixes https://trello.com/c/2zc0odvX

This commit is contained in:
Chris Church
2015-08-06 14:59:04 -04:00
committed by Matthew Jones
parent 1982177248
commit 001127f8bd
2 changed files with 26 additions and 0 deletions

View File

@@ -222,6 +222,9 @@ class Inventory(CommonModel):
def update_group_depths(group_pk, current_depth=0):
max_depth = group_depths.get(group_pk, -1)
# Arbitrarily limit depth to avoid hitting Python recursion limit (which defaults to 1000).
if current_depth > 100:
return
if current_depth > max_depth:
group_depths[group_pk] = current_depth
for child_pk in group_children_map.get(group_pk, set()):