From 4be2f2a84c3c4cdb5fcdca9687085cd8f0debfd3 Mon Sep 17 00:00:00 2001 From: Adam Griffiths Date: Mon, 16 Jan 2017 11:45:06 +1100 Subject: [PATCH] Fix for #1521 The merge from #1521 fixed the invalid variable error but it fixed in in a way that introduced another error: "dictionary changed size during iteration" This correctly applies the fix. --- query_runner/elasticsearch.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/query_runner/elasticsearch.py b/query_runner/elasticsearch.py index 2e70e4672c..d0dff323e6 100644 --- a/query_runner/elasticsearch.py +++ b/query_runner/elasticsearch.py @@ -119,12 +119,13 @@ def _get_mappings(self, url): return mappings, error def _get_query_mappings(self, url): - mappings, error = self._get_mappings(url) + mappings_data, error = self._get_mappings(url) if error: - return mappings, error + return mappings_data, error - for index_name in mappings: - index_mappings = mappings[index_name] + mappings = {} + for index_name in mappings_data: + index_mappings = mappings_data[index_name] for m in index_mappings.get("mappings", {}): for property_name in index_mappings["mappings"][m]["properties"]: property_data = index_mappings["mappings"][m]["properties"][property_name]