[
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]