[ https://issues.apache.org/jira/browse/LUCENE-3606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Uwe Schindler updated LUCENE-3606: ---------------------------------- Attachment: LUCENE-3606-deprecations3x.patch Here a patch that deprecates the removed methods in 3x: - delete*, undeleteAll - IR.open(..., readonly,...) - adds missing non-readOnly IR.open() - for now I also deprecated setNorm(). If I would not deprecate it, it would be inconsistent, as setNorm only works with readOnly=false - but you can never call that wthout a deprecation warning. I think we should leave setNorm deprecated. I did not fix the tests to not use deprecated readOnly=true IR.open()! :( I found a serious API glitch in 3.x with openIfChanged: - the base class defines doOpenIfChanged(boolean readOnly), but MultiReader and ParallelReader "override" this method with a signature doOpenIfChanged(doClone) and missing @Override. This makes consumers calling IR.openIfChanged(boolean readOnly) do the wrong thing. Instead they should get UOE like for the other unimplemented doOpenIfChanged methods in MR and PR. > Make IndexReader really read-only in Lucene 4.0 > ----------------------------------------------- > > Key: LUCENE-3606 > URL: https://issues.apache.org/jira/browse/LUCENE-3606 > Project: Lucene - Java > Issue Type: Task > Components: core/index > Affects Versions: 4.0 > Reporter: Uwe Schindler > Assignee: Uwe Schindler > Fix For: 4.0 > > Attachments: LUCENE-3606-deprecations3x.patch, > LUCENE-3606-hideMethodAgain.patch, LUCENE-3606.patch > > > As we change API completely in Lucene 4.0 we are also free to remove > read-write access and commits from IndexReader. This code is so hairy and > buggy (as investigated by Robert and Mike today) when you work on > SegmentReader level but forget to flush in the DirectoryReader, so its better > to really make IndexReaders readonly. > Currently with IndexReader you can do things like: > - delete/undelete Documents -> Can be done by with IndexWriter, too (using > deleteByQuery) > - change norms -> this is a bad idea in general, but when we remove norms at > all and replace by DocValues this is obsolete already. Changing DocValues > should also be done using IndexWriter in trunk (once it is ready) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org