store records at receiver selectively, track ReceiverSupervisorImpl, use multiple consumers at BlockGenerator