@@ -279,7 +279,7 @@ class OptimizerClient(object):
predictions = response.get('predictions', [])
return {
- 'statement': predictions[0]['statement']
+ 'statement': predictions and predictions[0]['statement']
}
@@ -50,7 +50,11 @@ class OptimizerRestClient(OptimizerClient):
def _call(self, path, data):
- return self._root.post(path, data=json.dumps(data), contenttype=_JSON_CONTENT_TYPE)
+ try:
+ return self._root.post(path, data=json.dumps(data), contenttype=_JSON_CONTENT_TYPE)
+ except:
+ LOG.exception('Error calling Optimize service')
+ return {}
class MockApiLib():
@@ -134,7 +134,7 @@ def top_tables(request):
'column_count': table['columnCount'],
'total': table['total'],
- for table in data['results']
+ for table in data.get('results', [])
]
response['top_tables'] = tables