On Wed, Sep 17, 2008 at 1:27 PM, Jason Rutherglen <[EMAIL PROTECTED]> wrote: > If the configuration code is going to be rewritten then I would like > to see the ability to dynamically update the configuration and schema > without needing to reboot the server.
Exactly. Actually, multi-core allows you to instantiate a completely new core and swap it for the old one, but it's a bit of a heavyweight approach. The key is finding the right granularity of change. My current thought is that a schema object would not be mutable, but that one could easily swap in a new schema object for an index at any time. That would allow a single request to see a stable view of the schema, while preventing having to make every aspect of the schema thread-safe. > Also I would like the > configuration classes to just contain data and not have so many > methods that operate on the filesystem. That's the plan... completely separate the serialized and in memory representations. > This way the configuration > object can be serialized, and loaded by the server dynamically. It > would be great for the schema to work the same way. Nothing will stop one from using java serialization for config persistence, however I am a fan of human readable for config files... so much easier to debug and support. Right now, people can cut-n-paste relevant parts of their config in email for support, or to a wiki to explain things, etc. Of course, if you are talking about being able to have custom filters or analyzers (new classes that don't even exist on the server yet), then it does start to get interesting. This intersects with deployment in general... and I'm not sure what the right answer is. What if Lucene or Solr needs an upgrade? It would be nice if that could also automatically be handled in a a large cluster... what are the options for handling that? Is there a role here for OSGi to play? It sounds like at least some of that is outside of the Solr domain. An alternative to serializing everything would be to ship a new schema along with a new jar file containing the custom components. -Yonik