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

Chris M. Hostetter commented on SOLR-16305:
-------------------------------------------

{quote}AFAIK the propagation of `property.*` values to cores is accidental, the 
original purpose (again, AFAIK) was to be able to set aux properties in the 
`state.json`, ...
{quote}
Uh, no.  that's not true at all.

Long before Solr had a concept of "collections" or "multi-cores" we had the 
ability for {{solrconfig.xml}} to include named properties that could be 
defined at run time via sysprops (like the {{custom.prop}} example from the 
issue description).  Then at some point we added multi-core support, _AND_ 
{{core.properties}} file support so that different cores could use the same 
configs, but have different behavior based on diff values for the same named 
property in their individual {{core.property}} files.

Then we added the "Core Admin API" which included ([and still 
includes|https://solr.apache.org/guide/solr/latest/configuration-guide/coreadmin-api.html#create-core-parameters])
 support for custom {{property.*}} params (when doing a CREATE Core) that get 
written to the {{core.properties}} file for the core you create, and later when 
we added the concept of "collections" and a CREATE "Collection Admin API" 
(which delegates to the CoreAdmin API) we included that same functionalty: When 
CREATEing a collection, you can specify custom {{property.*}} params that get 
passed to the CREATE CoreAdmin command of every replica created.

*In short: The original motication behind {{property.*}} params in the 
Collection API was to use pass them to the underlying CoreAdmin API*
{quote}However, even using these `property.*` values is half-broken, as I 
recently discovered - it's supported in MODIFYCOLLECTION but not in CREATE, ...
{quote}
I think you mean the exact opposite of what you just said?


That's what this issue is all about: when you CREATE a collection the 
{{properyt.*}} values _*ARE*_  propogated to the (initialy) created replicas) 
but they can *_NOT_* be modified by MODIFYCOLLECTION...

It's trivial to demonstrate that that CREATE collection does in fact propogate 
them to the cores...
{noformat}
hossman@slate:~/lucene/solr [j11] [branch_9x] $ find ./solr/packaging/build/dev 
-name core.properties
./solr/packaging/build/dev/example/cloud/node2/solr/gettingstarted_shard1_replica_n4/core.properties
./solr/packaging/build/dev/example/cloud/node2/solr/gettingstarted_shard2_replica_n1/core.properties
./solr/packaging/build/dev/example/cloud/node1/solr/gettingstarted_shard1_replica_n6/core.properties
./solr/packaging/build/dev/example/cloud/node1/solr/gettingstarted_shard2_replica_n2/core.properties
hossman@slate:~/lucene/solr [j11] [branch_9x] $ find ./solr/packaging/build/dev 
-name core.properties | xargs grep hoss
hossman@slate:~/lucene/solr [j11] [branch_9x] $ curl 
'http://localhost:8983/solr/admin/collections?action=CREATE&name=test&numShards=2&property.hoss=foo'
{
  "responseHeader":{
    "status":0,
    "QTime":1110},
  "success":{
    "localhost:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":527},
      "core":"test_shard1_replica_n1"},
    "localhost:7574_solr":{
      "responseHeader":{
        "status":0,
        "QTime":523},
      "core":"test_shard2_replica_n2"}},
  "warning":"Using _default configset. Data driven schema functionality is 
enabled by default, which is NOT RECOMMENDED for production use. To turn it 
off: curl http://{host:port}/solr/test/config -d '{\"set-user-property\": 
{\"update.autoCreateFields\":\"false\"}}'"}
hossman@slate:~/lucene/solr [j11] [branch_9x] $ find ./solr/packaging/build/dev 
-name core.properties | xargs grep hoss
./solr/packaging/build/dev/example/cloud/node2/solr/test_shard2_replica_n2/core.properties:hoss=foo
./solr/packaging/build/dev/example/cloud/node1/solr/test_shard1_replica_n1/core.properties:hoss=foo

{noformat}

> MODIFYCOLLECTION with 'property.*' changes can't change values used in config 
> file variables (even though they can be set during collection CREATE)
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-16305
>                 URL: https://issues.apache.org/jira/browse/SOLR-16305
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Chris M. Hostetter
>            Priority: Major
>         Attachments: SOLR-16305_test.patch
>
>
> Consider a configset with a  {{solrconfig.xml}} that includes a snippet like 
> this...
> {code:java}
> <str name="param.check">${custom.prop:customDefVal}</str>
> {code}
> ...this {{custom.prop}} can be set when doing a {{CREATE}} command for a 
> collection that uses this configset, using the {{property.*}} prefix as noted 
> in the reg-guide...
> {quote}{{property.{_}name{_}={_}value{_}}}
> |Optional|Default: none|
> Set core property _name_ to {_}value{_}. See the section [Core 
> Discovery|https://solr.apache.org/guide/solr/latest/configuration-guide/core-discovery.html]
>  for details on supported properties and values.
> {quote}
> ...BUT....
> These values can *not* be changed by using the {{MODIFYCOLLECTION}} command, 
> in spite of the ref-guide indicating that it can be used to modify custom 
> {{property.*}} attributes...
> {quote}The attributes that can be modified are:
>  * {{replicationFactor}}
>  * {{collection.configName}}
>  * {{readOnly}}
>  * other custom properties that use a {{property.}} prefix
> See the [CREATE 
> action|https://solr.apache.org/guide/solr/latest/deployment-guide/collection-management.html#create]
>  section above for details on these attributes.
> {quote}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to