From 48bc4bc8794785158cee461a1655d238a4f35bb6 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 2 Apr 2014 21:50:30 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 65593: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (4.3/Cloud) 65443: MNT-10826: When SOLR encounters an error during a search, it returns empty result set rather than an error message Error from the SOLR side needs to be captured and sent over in the results. It should be thrown on the repository side. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@66247 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/search/impl/solr/SolrQueryHTTPClient.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java b/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java index 4bb922762c..7edfd4218b 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java +++ b/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java @@ -463,6 +463,16 @@ public class SolrQueryHTTPClient implements BeanFactoryAware Reader reader = new BufferedReader(new InputStreamReader(post.getResponseBodyAsStream(), post.getResponseCharSet())); // TODO - replace with streaming-based solution e.g. SimpleJSON ContentHandler JSONObject json = new JSONObject(new JSONTokener(reader)); + + if (json.has("status")) + { + JSONObject status = json.getJSONObject("status"); + if (status.getInt("code") != HttpServletResponse.SC_OK) + { + throw new LuceneQueryParserException("SOLR side error: " + status.getString("message")); + } + } + SolrJSONResultSet results = new SolrJSONResultSet(json, searchParameters, nodeService, nodeDAO, limitBy, maxResults); if (s_logger.isDebugEnabled()) {