Deadletter messages are important to fix. Most of ours are caused by transient errors (ie network glitch, system resources, etc) and all we need to do is reprocess. Use the Service Bus Explorer found in our code base. Build and run the exe. In the top menu, select File -> Connect. There should be a drop down of Service Bus Namespaces to choose from, these will autofill the form and allow you to connect easily. Select the one you want and click Ok. In the left pane, right click Topics and Expand Subtree. This will show the namespace, find the subscription and peek from deadletter, usually limit to around 100 messages at a time to avoid timeouts on all actions.

To Resubmit Multiple messages:
Right-click the subscription and select Receive Deadletter Queue Message (make sure to just Select the messages), you can either chose to log or not log upon peeking. Logging occurs in the local directory. You can select multiple message to resubmit, click one and then scroll down the list and shift click, this should highlight multiple, then right click and Resubmit. I usually log when resubmitting and remove from the DLQ or Deadletter Queue. It should default you to the topic of the current subscription so just verify and then submit.


To Resubmit Single message:
Follow the steps until selecting the message. Before highlighting and right-click the message to resubmit, copy the whole text from the Message Text window. When resubmitting just one message, Service Bus Explorer does formatting in the next window and that can mess up message format. Right click the message and paste over the value that is already in the space. Then Log the message and remove from DLQ or Deadletter Queue on resubmission.


If it still deadletters after requeueing the message, you'll need to look in Graylog and see what the error is that is causing the failure. Attached is a spreadsheet that will help you. The Trigger By column will be were you can lookup the value and then there is a column with the string to use in Graylog to search. Just make sure you are searching the PROD stream of logs.


Common Issues:
Admin - Rebuilds of indexes failing (ServiceRequestAttribute). Refer to the Rebuild Scripts article under Admin.

RetailEngine - RapValidation and NewItemCancellation (requeue) and ResolvedCloning message (requeue first and if those fail, find the Service Request script for inactivating a duplicate). Configuration failures if a client is not mapped. Map the client and requeue. RapAlertFiles not validating, in the Premium Azure tenant use Azure Storage Explorer and navigate to the pprsretailenginestorage account -> rapalerts -> find the file that failed and download locally. Then check position 55 and that should start the MDM Client Id field for 7 characters. Look that up in RetailEngine Client table and send to COE and copy Bradley Cahillane, Alex Consuegra, Claire Lindsay and ask that they help figure out why the client is not mapped.

QTrax - Usually resource issue, requeue should do the trick.

Service Bus Explorer Repo:
https://qtraxweb.visualstudio.com/Retail%20Engine/_git/3rdParty-ServiceBusExplorer

Graylog:
https://graylog.premiumretail.com/