SQS messages processed twice: visibility timeout shorter than the Lambda timeout
After we raised a Lambda timeout to handle large PDFs, customers started getting the same invoice email twice. The SQS queue's visibility timeout was still 60 seconds, so slow messages reappeared and a second invocation picked them up mid-processing.