I’ve implemented a JMS Consumer that consumes from IBM WebSphere MQ, in a pipeline triggered by a schedule (message count = 1, timeout in 5 minutes, restart every minute if not already running), So, when there are messages in queue, it picks one up, processes it to completion, restarts in about a minute, picks the next one up, etc; when there are not, it polls for five minutes, times out and restarts a minute later.
Recently, there have been two instance where, for days at a time, our client says that they’ve put items in the queue, and that they’ve been consumed, but we haven’t seen them. The Dashboard consistently shows that the task has started every six minutes, timing out after five minutes, with no documents received. So, something is acknowledging the messages, but the Consumer (the first snap in the pipeline) doesn’t complete.
Assuming that these messages were enqueued and consumed (as the client says), I can only assume that the Consumer snap retrieved the message and acknowledged it, but then hangs indefinitely, stuck until the task times out, losing the message.
Has this behavior been seen in various MQ implementations, or maybe in the Consumer snap itself, namely that the Consumer snap doesn’t complete its own execution after it has acknowledged the message?