Sergey Chugunov created IGNITE-26967:
----------------------------------------
Summary: New validation mechanism for cache configuration
components
Key: IGNITE-26967
URL: https://issues.apache.org/jira/browse/IGNITE-26967
Project: Ignite
Issue Type: Task
Components: cache
Reporter: Sergey Chugunov
Components to support multi datacenter deployments developed in IGNITE-26334
(TopologyValidator implementation) and IGNITE-26580 (affinity backup filter to
spread partition copies across datacenters) should be configured uniformly
across the cluster.
However components' interfaces (TopologyValidator and IgniteBiPredicate for
backup filter) do not provide any API to perform such validation, so existing
validation logic implemented mostly in ClusterCachesInfo class is patchy and
doesn't protect users from potentially dangerous and hard-to-catch
misconfiguration mistakes.
It is possible to use standard `equals` method to put validation logic there,
but this approach could break already existing code written by users themselves
and does not work for backup filter if it is passed into configuration as
lambda.
So we need to come up with a better approach to validate consistency of cache
configuration, implement this configuration for important components like
affinity backup filters or topology validators and refactor existing
validations to use this new approach.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)