I don’t overreact. And please note: I was also involved in this issue.
The break is: You have a factory as a Solr customer that worked in 4.2. The problem with the java language is the fact that you cannot enforce specific ctors in subclasses, so you simply have to do this by yourself. Unfortunately this is also not even fully documented (we have nothing that mentions this in the base class, like: “every XxxFactory needs at least one constructor taking Map<String,String>, so Lucene’s SPI framework can load it”). The compiler does not enforce it. You will find the bug only if you put your own factory into solr’s lib folder and then you get MethodNotFoundException on startup. I just said: We should mention this change if we respin, nothing more! And it is a break of some kind (because a method signature changed, in this case a required ctor signature). I just want to have one sentence in the documentation of the factories and another backwards break entry, maybe merged with the TokenizerFactory (needing AttributeSource) one. Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen <http://www.thetaphi.de/> http://www.thetaphi.de eMail: u...@thetaphi.de From: Robert Muir [mailto:rcm...@gmail.com] Sent: Friday, April 19, 2013 2:45 PM To: dev@lucene.apache.org Cc: simon.willna...@gmail.com Subject: Re: [VOTE] Lucene/Solr 4.3 RC1 On Fri, Apr 19, 2013 at 8:25 AM, Uwe Schindler <u...@thetaphi.de> wrote: Hi, I am still reviewing. I have one note about the changes.txt where we miss a backwards break: * https://issues.apache.org/jira/browse/LUCENE-4877 made the AnalysisFactories require to have a non-default ctor, otherwise a MethodNotFoundException is thrown on initializing the SPI. The new constructor needs to have Map<String,String> parameters containing the factory params (e.g. from schema.xml). This change affects all users that wrote own factories for their own analysis components, so this should really be mentioned in the Lucene changelog (maybe also in Solr). Unfortunately the changes entry in CHANGES.txt only contains a simple note: "LUCENE-4877: Give me a break. the factory api was *already* broken in 4.3 before I even did this issue, by those AttributeSource api changes. No need to single out and overreact to my change, no backwards break was necessary since it already existed from another change.