Do not start catchup if already started
@@ -2123,6 +2123,11 @@ class Node(HasActionQueue, Motor, Propagator, MessageProcessor, HasFileStorage,
def start_catchup(self):
# Process any already Ordered requests by the replica
# TODO: What if catchup already is started? Should we handle it?
+
+ if self.mode == Mode.starting:
+ logger.info('{} does not start the catchup procedure '
+ 'because it is already in this state'.format(self))
+ return
self.force_process_ordered()
self.mode = Mode.starting
self.ledgerManager.prepare_ledgers_for_sync()
