Fix an off by one error in the common backfill code
This commit is contained in:
parent
ca8e9d89c8
commit
941d13ea3e
2 changed files with 32 additions and 7 deletions
|
@ -136,21 +136,21 @@ def yield_random_entries(batch_query, primary_key_field, batch_size, max_id):
|
|||
.where(primary_key_field >= start_index))
|
||||
|
||||
if len(all_candidates) == 0:
|
||||
logger.debug('No candidates, new highest id: %s', start_index)
|
||||
allocator.mark_completed(start_index, max_id)
|
||||
logger.info('No candidates, new highest id: %s', start_index)
|
||||
allocator.mark_completed(start_index, max_id + 1)
|
||||
continue
|
||||
|
||||
logger.debug('Found %s candidates, processing block')
|
||||
logger.info('Found %s candidates, processing block')
|
||||
for candidate in all_candidates:
|
||||
abort_early = Event()
|
||||
yield candidate, abort_early
|
||||
if abort_early.is_set():
|
||||
logger.debug('Overlap with another worker, aborting')
|
||||
logger.info('Overlap with another worker, aborting')
|
||||
break
|
||||
|
||||
completed_through = candidate.id + 1
|
||||
logger.debug('Marking id range as completed: %s-%s', start_index, completed_through)
|
||||
logger.info('Marking id range as completed: %s-%s', start_index, completed_through)
|
||||
allocator.mark_completed(start_index, completed_through)
|
||||
|
||||
except NoAvailableKeysError:
|
||||
logger.debug('No more work')
|
||||
logger.info('No more work')
|
||||
|
|
Reference in a new issue