[jira] [Resolved] (LUCENE-4132) IndexWriterConfig live settings

2012-07-26 Thread Shai Erera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-4132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shai Erera resolved LUCENE-4132.


   Resolution: Fixed
Fix Version/s: (was: 4.0)
   4.0-ALPHA
   5.0

This should have been changed back to 'resolved' a long time ago. I guess I 
missed it.

 IndexWriterConfig live settings
 ---

 Key: LUCENE-4132
 URL: https://issues.apache.org/jira/browse/LUCENE-4132
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Shai Erera
Assignee: Shai Erera
Priority: Minor
 Fix For: 5.0, 4.0-ALPHA

 Attachments: LUCENE-4132.patch, LUCENE-4132.patch, LUCENE-4132.patch, 
 LUCENE-4132.patch, LUCENE-4132.patch, LUCENE-4132.patch, LUCENE-4132.patch


 A while ago there was a discussion about making some IW settings live and I 
 remember that RAM buffer size was one of them. Judging from IW code, I see 
 that RAM buffer can be changed live as IW never caches it.
 However, I don't remember which other settings were decided to be live and 
 I don't see any documentation in IW nor IWC for that. IW.getConfig mentions:
 {code}
 * bNOTE:/b some settings may be changed on the
 * returned {@link IndexWriterConfig}, and will take
 * effect in the current IndexWriter instance.  See the
 * javadocs for the specific setters in {@link
 * IndexWriterConfig} for details.
 {code}
 But there's no text on e.g. IWC.setRAMBuffer mentioning that.
 I think that it'd be good if we make it easier for users to tell which of the 
 settings are live ones. There are few possible ways to do it:
 * Introduce a custom @live.setting tag on the relevant IWC.set methods, and 
 add special text for them in build.xml
 ** Or, drop the tag and just document it clearly.
 * Separate IWC to two interfaces, LiveConfig and OneTimeConfig (name 
 proposals are welcome !), have IWC impl both, and introduce another 
 IW.getLiveConfig which will return that interface, thereby clearly letting 
 the user know which of the settings are live.
 It'd be good if IWC itself could only expose setXYZ methods for the live 
 settings though. So perhaps, off the top of my head, we can do something like 
 this:
 * Introduce a Config object, which is essentially what IWC is today, and pass 
 it to IW.
 * IW will create a different object, IWC from that Config and IW.getConfig 
 will return IWC.
 * IWC itself will only have setXYZ methods for the live settings.
 It adds another object, but user code doesn't change - it still creates a 
 Config object when initializing IW, and need to handle a different type if it 
 ever calls IW.getConfig.
 Maybe that's not such a bad idea?

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



[jira] [Resolved] (LUCENE-4132) IndexWriterConfig live settings

2012-06-18 Thread Shai Erera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-4132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shai Erera resolved LUCENE-4132.


   Resolution: Fixed
Lucene Fields: New,Patch Available  (was: New)

Committed revision 1351225 (trunk) and revision 1351229 (4x).

Thanks all for your comments !

 IndexWriterConfig live settings
 ---

 Key: LUCENE-4132
 URL: https://issues.apache.org/jira/browse/LUCENE-4132
 Project: Lucene - Java
  Issue Type: Improvement
Reporter: Shai Erera
Assignee: Shai Erera
Priority: Minor
 Fix For: 4.0, 5.0

 Attachments: LUCENE-4132.patch, LUCENE-4132.patch, LUCENE-4132.patch, 
 LUCENE-4132.patch, LUCENE-4132.patch, LUCENE-4132.patch, LUCENE-4132.patch


 A while ago there was a discussion about making some IW settings live and I 
 remember that RAM buffer size was one of them. Judging from IW code, I see 
 that RAM buffer can be changed live as IW never caches it.
 However, I don't remember which other settings were decided to be live and 
 I don't see any documentation in IW nor IWC for that. IW.getConfig mentions:
 {code}
 * bNOTE:/b some settings may be changed on the
 * returned {@link IndexWriterConfig}, and will take
 * effect in the current IndexWriter instance.  See the
 * javadocs for the specific setters in {@link
 * IndexWriterConfig} for details.
 {code}
 But there's no text on e.g. IWC.setRAMBuffer mentioning that.
 I think that it'd be good if we make it easier for users to tell which of the 
 settings are live ones. There are few possible ways to do it:
 * Introduce a custom @live.setting tag on the relevant IWC.set methods, and 
 add special text for them in build.xml
 ** Or, drop the tag and just document it clearly.
 * Separate IWC to two interfaces, LiveConfig and OneTimeConfig (name 
 proposals are welcome !), have IWC impl both, and introduce another 
 IW.getLiveConfig which will return that interface, thereby clearly letting 
 the user know which of the settings are live.
 It'd be good if IWC itself could only expose setXYZ methods for the live 
 settings though. So perhaps, off the top of my head, we can do something like 
 this:
 * Introduce a Config object, which is essentially what IWC is today, and pass 
 it to IW.
 * IW will create a different object, IWC from that Config and IW.getConfig 
 will return IWC.
 * IWC itself will only have setXYZ methods for the live settings.
 It adds another object, but user code doesn't change - it still creates a 
 Config object when initializing IW, and need to handle a different type if it 
 ever calls IW.getConfig.
 Maybe that's not such a bad idea?

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