7 messages in org.apache.lucene.java-dev[VOTE] Break Back Compatibility "Cont...
FromSent OnAttachments
Grant IngersollJul 30, 2008 5:43 am 
Michael McCandlessJul 30, 2008 5:58 am 
Erik HatcherJul 30, 2008 6:17 am 
Michael BuschJul 30, 2008 6:58 am 
DM SmithJul 30, 2008 8:07 am 
Grant IngersollJul 30, 2008 8:17 am 
Grant IngersollAug 3, 2008 2:44 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[VOTE] Break Back Compatibility "Contract" on FieldableActions...
From:Grant Ingersoll (gsin@apache.org)
Date:Jul 30, 2008 5:43:37 am
List:org.apache.lucene.java-dev

As they say, rules are meant to be broken...

For a variety of reasons, some outlined below, I (and others) would like us to break our back compatibility requirements and allow for modifying the Fieldable interface in 2.x releases with the 3.x plan to be to separate out write side interfaces from read side interfaces per Hoss' suggestion in
http://lucene.markmail.org/message/77qs2pjy3inzfddj?q=Fieldable%2C+AbstractField .

Our reasons are based on LUCENE-1340, LUCENE-1219 and
http://lucene.markmail.org/message/77qs2pjy3inzfddj?q=Fieldable%2C+AbstractField

Simply put, my gut says there are almost no implementations of Fieldable "in the wild", and those that are won't mind a few lines of code change here and there to accommodate Fieldable changing (since Fields really are just simple data structures and don't due much algorithmically, except maybe LazyField)

Thus, here's the vote part:

1. We mark Fieldable as being subject to change. We heavily advertise (on java-dev and java-user and maybe general) that in the next minor release of Lucene (2.4), Fieldable will be changing. It is also marked at the top of CHANGES.txt very clearly for all the world to see. Since 2.4 is probably at least a month away, I think this gives anyone with a pulse enough time to react.

2. We thus allow 1340 and 1219 to go forward, and maybe some others.

3. [OPTIONAL] We commit to rethinking input Documents and output Documents for 3.x per Hoss' design suggestions in the email thread above. At a minimum, it becomes an abstract base class.

+1 to all 3 items from me.

-Grant