[ 
https://issues.apache.org/jira/browse/LUCENE-1473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653955#action_12653955
 ] 

Jason Rutherglen commented on LUCENE-1473:
------------------------------------------

Doug wrote: We can save, in files, serialized instances of each query type from 
the oldest release we intend to support. Then read each of thes queries and 
check that it s equal to a current query that's meant to be equivalent (ssuming 
all queries implement equals well). Something similar would need to be done for 
each class that is meant to be transmitted cross-version.

This tests that older queries may be processed by newer code. It does not test 
that newer queries can be processed by older code. Documentation is a big part 
of this effort, that should be completed first. What guarantees to we intend to 
provide? Once we've documented these, then we can begin writing tests. For 
example, we may only guarantee that older queries work with newer code, and 
that newer hits work with older code. To test that we'd need to have an old jar 
around that we could test against. This will be a trickier test to configure.

--------------

Makes sense.  I guarantee 2.9 and above classes will be backward compatible 
with the previous classes.  I think that for 3.0 we'll start to create new 
replacement classes that will not conflict with the old classes.  I'd really 
like to redesign the query, similarity, and scoring code to work with flexible 
indexing and allow new algorithms.  This new code will not create changes in 
the existing query, similarity, and scoring code which will remain 
serialization compatible with 2.9.  The 2.9 query, similarity, and scoring 
should leverage the new query, similarity and scoring code to be backwards 
compatible.  


> Implement standard Serialization across Lucene versions
> -------------------------------------------------------
>
>                 Key: LUCENE-1473
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1473
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 2.4
>            Reporter: Jason Rutherglen
>            Priority: Minor
>         Attachments: LUCENE-1473.patch, LUCENE-1473.patch, LUCENE-1473.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> To maintain serialization compatibility between Lucene versions, 
> serialVersionUID needs to be added to classes that implement 
> java.io.Serializable.  java.io.Externalizable may be implemented in classes 
> for faster performance.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to