{"id":"ch-preference-list-skips-duplicates","text":"`get_nodes` walks clockwise past virtual nodes belonging to already-seen physical nodes, ensuring exactly `replication_factor` distinct physical nodes in the preference list","truth_value":"IN","source":"entries/2026/05/29/consistent-hashing-consistent_hashing.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"seen = set()\nresult = []\nwhile len(result) < self.replication_factor:\n    node = self._ring_nodes[idx % n]\n    if node not in seen:\n        seen.add(node)\n        result.append(node)\n    idx += 1"},"explanation":{"steps":[{"node":"ch-preference-list-skips-duplicates","truth_value":"IN","reason":"premise"}]}}