Kirill Tkalenko created IGNITE-23504:
----------------------------------------
Summary: Add configuration of local and distributed system
properties
Key: IGNITE-23504
URL: https://issues.apache.org/jira/browse/IGNITE-23504
Project: Ignite
Issue Type: Improvement
Reporter: Kirill Tkalenko
Assignee: Kirill Tkalenko
At the moment we do not have a single mechanism for working with system
properties, both local and distributed.
Since we have a configuration and tools for working with it (for example, cli),
it is proposed to use it to work with system properties. The user will be able
to change some property value if he needs to, otherwise the default value will
be used, which will be set in the code.
For the user it will look something like this (via cli):
{noformat}
[defaultNode]> node config show ignite.system.properties
igniteFirstProperties {
propertyValue=100
}
igniteSecondProperties {
propertyValue=lru
}
[defaultNode]> node config show ignite.system.properties.igniteFirstProperties
propertyValue=100
[defaultNode]> cluster config show ignite.system.properties
igniteFirstProperties {
propertyValue=100
}
igniteSecondProperties {
propertyValue=lru
}
[defaultNode]> cluster config show
ignite.system.properties.igniteFirstProperties
propertyValue=100
{noformat}
The changes are the same as when working with named lists.
Technically, this will be implemented through configuration schemes, something
like this:
{noformat}
@Config
public class SystemDistributedConfigurationSchema {
@NamedConfigValue
public SystemPropertyConfigurationSchema properties;
}
@Config
public class SystemPropertyConfigurationSchema {
@InjectedName
public String name;
@Value
public String propertyValue;
}
@Config
public class SystemLocalConfigurationSchema {
...
@NamedConfigValue
public SystemPropertyConfigurationSchema properties;
}
{noformat}
For consistency, the naming of properties will use camelCase as for
configuration fields and the corresponding validator will be added.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)