ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikolay Izhikov <nizhi...@apache.org>
Subject Re: Command line interface to manage distributed properties
Date Sat, 05 Sep 2020 07:08:50 GMT
Hello, Taras.

One more thing:

> --property list - prints list of the available properties with description, e.g.:

We have a convenient API to show Ignite internal objects - System Views [1]

Any system view available via SQL and JMX.
It seems we should have METASTORAGE view instead of this option.

P.S. Should we add some CMD interface for system views?

[1] https://apacheignite.readme.io/docs/system-views

> 3 сент. 2020 г., в 10:37, Nikolay Izhikov <nizhikov.dev@gmail.com> написал(а):
> 
> 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 <tledkov@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 <tledkov@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: tledkov@gridgain.com
>>>> 
>> -- 
>> Taras Ledkov
>> Mail-To: tledkov@gridgain.com
>> 
> 


Mime
View raw message