lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joel Bernstein (JIRA)" <>
Subject [jira] [Updated] (SOLR-7554) Add checks in Streams for incoming stream order
Date Mon, 22 Jun 2015 00:49:00 GMT


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:
>             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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message