If you're fanning out to a kinesis stream for example and you get back a FailedRecordCount > 0, no error is raised up from the lambda, so only a partial batch is successfully fanned out and the rest are lost. The data element should be being looked at in the callback and this should be handled in some way