[
https://issues.apache.org/jira/browse/SOLR-7554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joel Bernstein updated SOLR-7554:
---------------------------------
Attachment: SOLR-7554.patch
New patch built with svn diff. Streaming tests are passing. Looks like all this
ticket needs is a few tests that demonstrate Streams throwing an exception when
the sorts don't line up properly. I will add those tests to the patch shortly.
Thanks [~dgove1], this an important patch which should eliminate hard to
recognize bugs that will appear if/when sorts are incompatible.
> Add checks in Streams for incoming stream order
> -----------------------------------------------
>
> Key: SOLR-7554
> URL: https://issues.apache.org/jira/browse/SOLR-7554
> Project: Solr
> Issue Type: Improvement
> Components: SolrJ
> Affects Versions: 5.2, Trunk
> Reporter: Dennis Gove
> Priority: Minor
> Labels: streaming
> Fix For: 5.2, Trunk
>
> Attachments: SOLR-7554.patch, SOLR-7554.patch
>
>
> Most Streams built on top of other streams require that their incoming
> stream(s) be ordered in a complimentary way to how this stream is expected to
> output its results.
> For example, if a MergeStream is merging two streams on "fieldA asc, fieldB
> desc", then both its incoming streams must be ordered in a similar way. That
> said, the incoming stream could be ordered more strictly, ie "fieldA asc,
> fieldB desc, fieldC asc" but as long as the the comparator used in the
> MergeStream can be "derived from" the incoming stream's comparator then we
> are good to go.
> Some comparator A can be "derived from" some other comparator B iff the
> fields and their order in A is equal to the first fields and their order in
> B. For example, "fieldA asc, fieldB dec" can be derived from "fieldA asc,
> fieldB desc, fieldC asc, fieldD asc" but cannot be derived from "field A asc".
> This patch is to add this validation support. It requires changes to
> Comparators, Equalitors, most Streams, and related tests. It adds a way to
> compare Comparators and Equalitors and in the end is one more required piece
> before we can add support for Join streams.
> It is dependent on SOLR-7513 and SOLR-7528. Other dependencies it has have
> already been committed to trunk and the 5.2 branch.
> It does not change any interfaces to code already released (5.1 and below).
> It does change interfaces to code in trunk and 5.2.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]