From c8d825c2327072100c92dca2fe8aa89b60754368 Mon Sep 17 00:00:00 2001 From: Quentin Machu Date: Tue, 16 Feb 2016 15:16:22 -0500 Subject: [PATCH] expose min_id in allocator.py --- util/migrate/allocator.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/util/migrate/allocator.py b/util/migrate/allocator.py index c0502a843..bf998e1dd 100644 --- a/util/migrate/allocator.py +++ b/util/migrate/allocator.py @@ -14,9 +14,9 @@ class NoAvailableKeysError(ValueError): class CompletedKeys(object): - def __init__(self, max_index): + def __init__(self, min_index, max_index): self._max_index = max_index - self._min_index = 0 + self._min_index = min_index self._slabs = RBTree() def _get_previous_or_none(self, index): @@ -118,7 +118,7 @@ class CompletedKeys(object): return random.randint(hole_start, rand_max_bound) -def yield_random_entries(batch_query, primary_key_field, batch_size, max_id): +def yield_random_entries(batch_query, primary_key_field, batch_size, max_id, min_id=0): """ This method will yield items from random blocks in the database. We will track metadata about which keys are available for work, and we will complete the backfill when there is no more work to be done. The method yields tupes of (candidate, Event), and if the work was @@ -126,8 +126,9 @@ def yield_random_entries(batch_query, primary_key_field, batch_size, max_id): an "id" field which can be inspected. """ + min_id = max(min_id, 0) max_id = max(max_id, 1) - allocator = CompletedKeys(max_id + 1) + allocator = CompletedKeys(min_id, max_id + 1) try: while True: