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 >