Erick Erickson created SOLR-4910: ------------------------------------ Summary: solr.xml persistence is completely broken Key: SOLR-4910 URL: https://issues.apache.org/jira/browse/SOLR-4910 Project: Solr Issue Type: Bug Affects Versions: 5.0, 4.4 Reporter: Erick Erickson Assignee: Erick Erickson Priority: Blocker
I'm working on SOLR-4862 (persisting a created core doesn't preserve some values) and at least compared to 4.3 code, persisting to solr.xml is completely broken. I learned to hate persistence while working on SOLR-4196 & etc. and I'm glad it's going away. I frequently got lost in implicit properties (they're easy to persist and shouldn't be), what should/shouldn't be persisted (e.g. the translated ${var:default} or the original), and it was a monster, so don't think I'm nostalgic for the historical behavior. Before I dive back in I want to get some idea whether or not the current behavior was intentional or not, I don't want to go back into that junk only to undo someone else's work. Creating a new core (collection2 in my example) with persistence turned on in solr.xml for instance changes the original definition for collection1 (stock 4.x as of tonight) from this: <core name="collection1" instanceDir="collection1" shard="${shard:}" collection="${collection:collection1}" config="${solrconfig:solrconfig.xml}" schema="${schema:schema.xml}" coreNodeName="${coreNodeName:}"/> to this: <core loadOnStartup="true" shard="${shard:}" instanceDir="collection1/" transient="false" name="collection1" dataDir="data/" collection="${collection:collection1}"> <property name="name" value="collection1"/> <property name="config" value="solrconfig.xml"/> <property name="solr.core.instanceDir" value="solr/collection1/"/> <property name="transient" value="false"/> <property name="schema" value="schema.xml"/> <property name="loadOnStartup" value="true"/> <property name="solr.core.schemaName" value="schema.xml"/> <property name="solr.core.name" value="collection1"/> <property name="solr.core.dataDir" value="data/"/> <property name="instanceDir" value="collection1/"/> <property name="solr.core.configName" value="solrconfig.xml"/> </core> So, there are two questions: 1> what is correct for 4.x? 2> do we care at all about 5.x? As much as I hate to say it, I think that we need to go back to the 4.3 behavior. It might be as simple as not persisting in the <property> tags anything already in the original definition. Not quite sure what to put where in the newly-created core though, I suspect that the compact <core + attribs> would be best (assuming there's no <property> tag already in the definition. I really hate the mix of attributes on the <core> tag and <property> tags, wish we had one or the other.... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators 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