[ 
https://issues.apache.org/jira/browse/SOLR-4910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13679579#comment-13679579
 ] 

Mark Miller commented on SOLR-4910:
-----------------------------------

bq. Not quite sure what you mean here. I fully agree that current testing isn't 
catching this kind of problem, but the underlying behavior is broken too.

I mean that I think both of these things have been broken and fixed recently - 
that means testing is hitting none of this, so a fix is worthless without tests 
to make sure this stuff works. Adding tests requires a fix to the underlying 
problem. So what I am saying is that the majority of thought and effort on this 
should not be "how do we fix it", and instead spent on adding tests and making 
them pass.

It's very easy to check and see what the old behavior was regarding peristence 
- it was pretty simple though - we try and write out what we read in, but if 
the change was triggered dynamically, we can write it out however we want.

It's a little odd, but TestSolrProperties is the current class that tests this 
type of stuff fairly simply. I think that is what we really want to beef up. I 
can likely pitch in as well.
                
> 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
>         Attachments: SOLR-4910.patch
>
>
> 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

Reply via email to