Gabriel Jimenez created IGNITE-11335:
----------------------------------------

             Summary: Data Center Affinity on Reads for Performance Increase 
                 Key: IGNITE-11335
                 URL: https://issues.apache.org/jira/browse/IGNITE-11335
             Project: Ignite
          Issue Type: Improvement
            Reporter: Gabriel Jimenez


*Problem Statement:* When working with an ignite grid deployed across multiple 
data centers, a functionality could not be identified that would guarantee no 
unnecessary cross data center communication on read requests.

*Solution:* We decided to add filtering logic to GridCacheContext 
selectAffinityNodeBalanced(...) dependent on an expected node attribute - 
'DATA_CENTER' (no functional change if attribute not present). The logic 
attempts to filter the incoming 'affNodes' parameter so that it includes only 
nodes whose attribute value match the local node's attribute value, maintaining 
the original nodes if none match.

Relevant Function:
https://github.com/apache/ignite/blob/ignite-2.6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java#L2190

*Additional Questions:*

Was there an existing solution/approach to our '*Problem Statement'* that did 
not involve changing the codebase?

Is there another preferred solution for our '*Problem Statement'*? 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to