From 13b4d63795177324830a54dcbe9617883af47622 Mon Sep 17 00:00:00 2001
From: Harsha Kethineni <harshakethineni@flywheel.io>
Date: Wed, 22 Nov 2017 11:02:53 -0600
Subject: [PATCH] Catch transport error to abort with 400

---
 api/handlers/dataexplorerhandler.py | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/api/handlers/dataexplorerhandler.py b/api/handlers/dataexplorerhandler.py
index f9019f27..a25aac63 100644
--- a/api/handlers/dataexplorerhandler.py
+++ b/api/handlers/dataexplorerhandler.py
@@ -483,7 +483,7 @@ class DataExplorerHandler(base.RequestHandler):
         aggs['by_session']['subject.age'] = age_node['subject.age']
         return {'facets': aggs}
 
-    def search_size(self, return_type, filter=None):
+    def search_size(self, return_type, filters=None):
         body = {
             "size": 0,
             "aggs" : {
@@ -496,18 +496,20 @@ class DataExplorerHandler(base.RequestHandler):
             }
         }
 
-        if filter:
+        if filters:
             body["query"] = {
                 "bool": {
-                    "filter": filter
+                    "filter": filters
                 }
             }
-
-        size = config.es.search(
-            index='data_explorer',
-            doc_type='flywheel',
-            body=body)['aggregations']['count']['value']
-        size = int(size*1.02)
+        try:
+            size = config.es.search(
+                index='data_explorer',
+                doc_type='flywheel',
+                body=body)['aggregations']['count']['value']
+            size = int(size*1.02)
+        except TransportError:
+            self.abort(400, "Reuest to large, filter your request")
         return size
 
     def get_nodes(self):
-- 
GitLab