Queue Receivers stall if the receive call times out and the prefetch value on the queue is set to none.

Queue Receivers stall if the receive call times out and the prefetch value on the queue is set to none.

book

Article ID: KB0090853

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Description:
Symptoms
========

Queue Receivers stall if the receive call times out and the prefetch value on the queue is set to none.

Impact
======

Loss of Functionality


Workaround
==========

Set the prefetch to 1 or greater value.


Cause
=====
This problem arises mainly due to a race condition between the client's receive call timing out and a message arriving from the server.  As long as there are messages queued in the client library for the receiver, everything works fine because the receive call never times out.

The problem occurs when the client's receive call times out as a message arrives from the server.  The state of the client becomes inconsistent with the server since the server knows it sent a message to the client but the client library gets confused about the fact that it was sent a message.


Resolution
=========

Fixed in TIBCO Enterprise Message Service 4.4. The fix impacts both the EMS Sever and Client end.
Symptoms:

Cause:

Issue/Introduction

Queue Receivers stall if the receive call times out and the prefetch value on the queue is set to none.