Agreed!
I’ve noticed that in the Play Framework, you can configure everything via a
property based configuration file, however it makes it easy to override the
property file via another one, or via an ENV variables:
db.default.username="smui"
db.default.username=${?SMUI_DB_USER}
Which turns out to be very liberating!
> On Nov 11, 2021, at 2:09 PM, Jan Høydahl <[email protected]> wrote:
>
> +1 to a roundup of env and props across the board. I think SIP 11 is on the
> track of something. But can be done independent of this.
>
> Jan Høydahl
>
>> 11. nov. 2021 kl. 17:44 skrev Gus Heck <[email protected]>:
>>
>>
>> I guess all I mean is that it shouldn't be only sysprops. Enabling sysprops,
>> Env vars etc seems fine but we need to clearly document precedence among
>> any/all options. What is convenient varies from case to case and in a
>> perfect world what I'd like to see is full support across each style (files,
>> zk, props, env vars) with consistent and obvious naming and well documented
>> resolution order.
>>
>> What I don't like is a little bit of env vars for some stuff, props for
>> others, files for yet more stuff and some unclear aggregation of that
>> showing up in zk... (or maybe some of it not showing up anywhere code could
>> check it...)
>>
>> On Thu, Nov 11, 2021 at 11:07 AM Houston Putman <[email protected]
>> <mailto:[email protected]>> wrote:
>> I agree with Jan, when thinking about making Solr as cloud friendly as
>> possible EnvVars and (to a lesser extent) sysProps are much preferable than
>> having a setting in the solr.xml.
>> This is because it's easier to customize EnvVars per-node, while customizing
>> a config file is much harder, as those tend to be static and shared across a
>> whole environment.
>>
>> Also thanks for linking that SIP Jan, very applicable.
>>
>> - Houston
>>
>> On Fri, Nov 5, 2021 at 5:19 PM Jan Høydahl <[email protected]
>> <mailto:[email protected]>> wrote:
>> Thinking of these roles as labels, I think sysProps and envVars are the two
>> universal methods, and nothing wrong with that.
>> I keep trying to think cloud native and container, so having excellent 1st
>> class support for env.vars for such configs is a priority to me.
>> Most tools, CI-environments etc have built-in support for env.vars, and so
>> it makes sense to me.
>>
>> See
>> https://cwiki.apache.org/confluence/display/SOLR/SIP-11+Uniform+cluster-level+configuration+API
>>
>> <https://cwiki.apache.org/confluence/display/SOLR/SIP-11+Uniform+cluster-level+configuration+API>
>> for some interesting ideas around cluster/node level config.
>>
>> See
>>
>>> 5. nov. 2021 kl. 15:04 skrev Gus Heck <[email protected]
>>> <mailto:[email protected]>>:
>>>
>>> Agree better to something other than sysprops. an arg in the start script
>>> would be friendlier than -D props which generally are irritatingly verbose
>>> and expose too much implementation.
>>>
>>> We lack a config file per level. solr.xml does double duty as global and
>>> per-node depending on how it's used (zk or filesystem).
>>>
>>> Config file names are confusing too. Our file names are legacy of non-cloud
>>> mode I think, and we really should at some point (10.x?) rework configs to
>>> be cluster.xml, node.xml, collection.xml (formerly solrconfig.xml) and
>>> schema.xml (and maybe support something other than xml, but that's not
>>> nearly as important as clarity in naming, and having features)
>>>
>>> But this is all straying way off topic and should have its own SIP if
>>> someone seems to have time for it :)
>>>
>>> On Thu, Nov 4, 2021 at 6:07 PM Shawn Heisey <[email protected]
>>> <mailto:[email protected]>> wrote:
>>> On 11/4/21 2:51 PM, Noble Paul wrote:
>>> > The SIP can be boiled down to the following
>>> >
>>> > * *Tag a node with a label (role) using a system property*
>>> > ** Use the placement plugin to whitelist/block list certain nodes*
>>> > ** Publish the roles through an API*
>>>
>>>
>>> In general, for Solr, do we like the idea of having things controlled by
>>> system properties?
>>>
>>> I would think solr.xml would be the right place to configure this,
>>> except that people can and probably do put solr.xml in zookeeper, which
>>> would mean every system would have the SAME solr.xml, and we're back to
>>> system properties as a way to customize solr.xml on each system.
>>>
>>> I have never used system properties to configure Solr. When I customize
>>> the config, I will often remove property substitutions from it and go
>>> with explicit settings. My general opinion about system properties is
>>> that if they're going to be used, they should DIRECTLY configure the
>>> application, not be sent in via property substitution in a config file.
>>> I've never liked the way our default configs use that paradigm. It
>>> means you cannot look at the config and know exactly how things are
>>> configured, without finding out whether system properties have been set.
>>>
>>> What color do others think that bikeshed should be painted?
>>>
>>> Thanks,
>>> Shawn
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> <mailto:[email protected]>
>>> For additional commands, e-mail: [email protected]
>>> <mailto:[email protected]>
>>>
>>>
>>>
>>> --
>>> http://www.needhamsoftware.com <http://www.needhamsoftware.com/> (work)
>>> http://www.the111shift.com <http://www.the111shift.com/> (play)
>>
>>
>>
>> --
>> http://www.needhamsoftware.com <http://www.needhamsoftware.com/> (work)
>> http://www.the111shift.com <http://www.the111shift.com/> (play)
_______________________
Eric Pugh | Founder & CEO | OpenSource Connections, LLC | 434.466.1467 |
http://www.opensourceconnections.com <http://www.opensourceconnections.com/> |
My Free/Busy <http://tinyurl.com/eric-cal>
Co-Author: Apache Solr Enterprise Search Server, 3rd Ed
<https://www.packtpub.com/big-data-and-business-intelligence/apache-solr-enterprise-search-server-third-edition-raw>
This e-mail and all contents, including attachments, is considered to be
Company Confidential unless explicitly stated otherwise, regardless of whether
attachments are marked as such.