Problem
DefaultReceiptHandleManager.clearGroup removes a receipt-handle group from receiptHandleGroupMap before submitting its cleanup task to the bounded returnHandleGroupWorkerService.
If the executor rejects the submission because its queue is full or it is shutting down, submit throws and the removed group is not restored. The Proxy then loses the handle state without sending the intended clear/renew request and cannot retry it on the next scheduled scan.
Expected behavior
A rejected cleanup submission must retain or restore the group so a later scheduled pass can retry cleanup. The rejection should be logged without leaking handle contents.
Scope
Handle RejectedExecutionException around clearGroup task submission and add a regression test that forces rejection.
Problem
DefaultReceiptHandleManager.clearGroupremoves a receipt-handle group fromreceiptHandleGroupMapbefore submitting its cleanup task to the boundedreturnHandleGroupWorkerService.If the executor rejects the submission because its queue is full or it is shutting down,
submitthrows and the removed group is not restored. The Proxy then loses the handle state without sending the intended clear/renew request and cannot retry it on the next scheduled scan.Expected behavior
A rejected cleanup submission must retain or restore the group so a later scheduled pass can retry cleanup. The rejection should be logged without leaking handle contents.
Scope
Handle
RejectedExecutionExceptionaroundclearGrouptask submission and add a regression test that forces rejection.