Hello, Taras.

> I guess some properties (may be future properties) shouldn't be published 
> through generic cmd line interface.

With marker interface user have to wait for a new release to fix not published 
property.
New release is a very long way for fixing one tiny configuration value.

Also, we shouldn’t hide anything from the administrator.

I’m sure that hiding any internals from our users is always a bad idea and 
hides some issue in the codebase.
Let’s do it in Apache Way? :) - «Not restriction but common sense» 

We can have some kind of `IgniteSystemProperty` with default read-only list and 
description to it - 
«User, you edit this properties fully on your own. We can’t predict results of 
such kind of edits» 
So user can fix this list manually.

WDYT?

> 3 сент. 2020 г., в 10:21, Taras Ledkov <tled...@gridgain.com> написал(а):
> 
> Hi,
> 
> >  Why do we want to restrict property management somehow?
> I guess some properties (may be future properties) shouldn't be published 
> through generic cmd line interface.
> May be its require separate more complex cmd line commands, some properties 
> may have dependencies and require complex management not only set/get.
> In this case we can use distributed property without publish one via simpel 
> cmd line interface.
> 
> On 03.09.2020 10:05, Nikolay Izhikov wrote:
>> Hello, Taras.
>> 
>> It a shame we don’t have a well-written guide for the development of the 
>> Ignite management interfaces at the moment.
>> For now, we have dozen of some management APIs - java, JMX, SQL, control.sh, 
>> visorcmd.sh, REST
>> 
>> I think we should support 3 manage interfaces for each new command:
>> 
>> * CMD
>> * JMX
>> * SQL
>> 
>> You can take as an example implementation of the `KILL` command [1]
>> 
>>> If we create the instance of this class the property can be managed by 
>>> command line.
>> Why do we want to restrict property management somehow?
>> 
>> This operation should be done by the administrator who knows what he or she 
>> does.
>> I think we should provide a way to change any property value without any 
>> restriction for admin.
>> So our users don’t have to wait «one more release» with only change 
>> ‘implements SimpleDistributedPublicProperty’ for some property.
>> 
>> [1] 
>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=145724615
>> 
>>> 2 сент. 2020 г., в 23:11, Taras Ledkov <tled...@gridgain.com> написал(а):
>>> 
>>> Hi,
>>> 
>>> Motivation: we have to manage SQL distributed property by command line and 
>>> introduce common approach to manage distributed properties.
>>> Issue: IGNITE-13186 (see [1])
>>> 
>>> My proposal is:
>>> 
>>> Property classes & DistributedConfigurationProcessor changes (see PR [2]):
>>> - introduce PublicProperty interface and implements it at the 
>>> PublicSimpleProperty;
>>> - SimpleDistributedPublicProperty. If we create the instance of this class 
>>> the property can be managed by command line.
>>> 
>>> Command line interface:
>>> --property list - prints list of the available properties with description, 
>>> e.g.:
>>>         sql.disabledFunctions : Disabled SQL functions
>>>         sql.defaultQueryTimeout : Default query timeout
>>> --property get --name <prop_name> - prints the property value
>>> --property set --name <prop_name> --val <prop_value> - change the property 
>>> value.
>>> 
>>> Possible we have to add the command:
>>> --property reset --name <prop_name> - reset property to default value.
>>> 
>>> Please your comments.
>>> Please pay your attention to concept & design of the publishing a property 
>>> by 'PublicProperty' and set of the new commands.
>>> 
>>> [1]. https://issues.apache.org/jira/browse/IGNITE-13186
>>> [2]. https://github.com/apache/ignite/pull/8208
>>> 
>>> -- 
>>> Taras Ledkov
>>> Mail-To: tled...@gridgain.com
>>> 
> -- 
> Taras Ledkov
> Mail-To: tled...@gridgain.com
> 

Reply via email to