Try   HackMD

Lighthouse backfill sync rate-limiting

Github issue: https://github.com/sigp/lighthouse/issues/3212

Diagrams below are based on @paulhauner's explanation in this comment.

backfill_queueBeaconProcessorevent_rxbackfill_queueBeaconProcessorevent_rxalt[if worker available][no available worker]alt[if worker available]loop[next loop]new backfill batch workprocess backfill batch immediatelypush to queuepop from queueprocess backfill batchExisting / Default backfill batch processing
BackfillSchedulerbackfill_scheduled_q  (new)backfill_queue  (existing)BeaconProcessorevent_rxBackfillSchedulerbackfill_scheduled_q  (new)backfill_queue  (existing)BeaconProcessorevent_rxloop[At 6,7,10 seconds of after slot start]alt[if worker available][no available worker]alt[if worker available]loop[next loop]new backfill batch workpush to a "scheduled" queuepop work from queuesend scheduled backfill batch workreceive scheduled backfill batch workprocess backfill batch immediatelypush to queuepop from queueprocess backfill batchbackfill batch processing with rate-limiting