in pyignite/client.py [0:0]
def _get_affinity(self, conn: 'Connection', caches: Iterable[int]) -> Dict:
"""
Queries server for affinity mappings. Retries in case
of an intermittent error (most probably “Getting affinity for topology
version earlier than affinity is calculated”).
:param conn: connection to Ignite server,
:param caches: Ids of caches,
:return: OP_CACHE_PARTITIONS operation result value.
"""
for _ in range(AFFINITY_RETRIES or 1):
result = cache_get_node_partitions(conn, caches)
if result.status == 0:
break
time.sleep(AFFINITY_DELAY)
return result