Is is expected behavior?
I had a queue with upwards of 22,000 dead letters on it. After fixing the bug that was generating the dead letters, I wanted to reprocess the entire DLQ. I noticed that when I selected retry all dead letters in this queue, it did not move all 22,000 back onto the main queue but only 2870 of them. It repeated this each time until I reprocessed all messaged 2870 at a time.