You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by kr...@apache.org on 2017/01/03 18:48:44 UTC

[33/50] lucene-solr:jira/solr-8593: SOLR-9495: AIOBE with confusing message for incomplete sort spec in Streaming Expression

SOLR-9495: AIOBE with confusing message for incomplete sort spec in Streaming Expression


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/61676188
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/61676188
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/61676188

Branch: refs/heads/jira/solr-8593
Commit: 61676188d7f592f697933b6051806c0bc55b406a
Parents: 36a691c
Author: Joel Bernstein <jb...@apache.org>
Authored: Fri Dec 30 19:54:00 2016 -0500
Committer: Joel Bernstein <jb...@apache.org>
Committed: Fri Dec 30 19:55:31 2016 -0500

----------------------------------------------------------------------
 .../solr/client/solrj/io/stream/CloudSolrStream.java      |  4 ++++
 .../solr/client/solrj/io/stream/StreamExpressionTest.java | 10 ++++++++++
 2 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/61676188/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
index 0580122..f177585 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
@@ -332,6 +332,10 @@ public class CloudSolrStream extends TupleStream implements Expressible {
 
       String[] spec = s.trim().split("\\s+"); //This should take into account spaces in the sort spec.
       
+      if (spec.length != 2) {
+        throw new IOException("Invalid sort spec:" + s);
+      }
+
       String fieldName = spec[0].trim();
       String order = spec[1].trim();
       

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/61676188/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
index 3bfe129..936d42f 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
@@ -162,6 +162,16 @@ public class StreamExpressionTest extends SolrCloudTestCase {
       assertTrue(e.getMessage().contains("fl param expected for search function"));
     }
 
+
+    try {
+      expression = StreamExpressionParser.parse("search(" + COLLECTIONORALIAS + ", q=\"blah\", fl=\"id, a_f\", sort=\"a_f\")");
+      stream = new CloudSolrStream(expression, factory);
+      tuples = getTuples(stream);
+      throw new Exception("Should be an exception here");
+    } catch(Exception e) {
+      assertTrue(e.getMessage().contains("Invalid sort spec"));
+    }
+
   }
 
   @Test