Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data loss when using "Resend dead letter messages" #64

Open
peterjohnsonme opened this issue Jan 23, 2025 · 0 comments
Open

Data loss when using "Resend dead letter messages" #64

peterjohnsonme opened this issue Jan 23, 2025 · 0 comments

Comments

@peterjohnsonme
Copy link

peterjohnsonme commented Jan 23, 2025

Today I attempted to re-send DLQ messages to a Queue. To accomplish this I went to the Details tab of a Queue and clicked the "Resend dead letter messages" icon at the bottom.

While it was running (and the status icon on the left nav was spinning) I clicked the X icon thinking I was just minimizing the status dialog. Instead it cancelled the task, and the result was all DLQ messages were lost.

Suggested enhancement:
As DLQ messages are resent, the following flow should be followed:

  1. The individual DLQ message is peek-locked.
  2. The message is attempted to be sent to the main queue.
  3. Upon successful message send, the DLQ message is "completed."
  4. Upon an error in the process, the lock is released.

The offending line is here, but it would require a refactor of the individual resend logic from read-and-delete entire batch > re-send to peek-lock individual message > attempt send > complete original message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant