Kinesis rejects PutRecords requests over 5 megabytes, but the batch producer doesn't do anything to make sure it doesn't exceed 5 megabytes in its requests.
When this failure is hit, we've seen our batch producer fail entirely as AWS simply kills the HTTP connection. None of the records get through, and every subsequent PutRecords request from the batch producer fails because the batches are too large, and it can't come back by sending smaller payloads.