diff --git a/graphite_api/carbonlink.py b/graphite_api/carbonlink.py index e040a0e..fe7a0c0 100644 --- a/graphite_api/carbonlink.py +++ b/graphite_api/carbonlink.py @@ -123,7 +123,7 @@ def remove_node(self, key): def get_node(self, key): assert self.ring position = self.compute_ring_position(key) - search_entry = position, None + search_entry = (position, ) index = bisect.bisect_left(self.ring, search_entry) % self.ring_len entry = self.ring[index] return entry[1] @@ -131,7 +131,7 @@ def get_node(self, key): def get_nodes(self, key): nodes = [] position = self.compute_ring_position(key) - search_entry = position, None + search_entry = (position, ) index = bisect.bisect_left(self.ring, search_entry) % self.ring_len last_index = (index - 1) % self.ring_len nodes_len = len(nodes) diff --git a/tests/test_carbonlink.py b/tests/test_carbonlink.py index b4789e4..80c2114 100644 --- a/tests/test_carbonlink.py +++ b/tests/test_carbonlink.py @@ -116,6 +116,14 @@ def test_chr_get_nodes(self): ] self.assertEqual(node, expected) + def test_chr_break_get_node(self): + hosts = [ + ("127.0.0.1",None) + ] + carbonlink = ConsistentHashRing(hosts) + node = carbonlink.get_node('hosts.worker44.cpu') + self.assertEqual(node, ('127.0.0.1', None)) + class ConsistentHashRingTestFNV1A(TestCase): def test_chr_compute_ring_position_fnv1a(self):