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)

Reply via email to