T.R | Title | User | Personal Name | Date | Lines |
---|
2754.1 | Can occur with other values... | KLOVIA::MICHELSEN | DECmessageQ Engineering | Mon Feb 03 1997 08:00 | 19 |
|
> 1. Does the problem occur even though the timer is set to the different value
> from the one described above.
Yes, it can occur with any timeout since it a race condition within
the pams_get_msgw logic. However, the longer the timer the less likely
a program will fall into condition.
> 2. Could you please illustrate what correction is added on DMQ V3.2 ?
> and why the problem occurs by setting the timer to minimum value ?
The ordering of the testing of a message arrivial and timeout
was wrong which resulted in a message being successfully dequeued
and then having it's status overwritten by the wait timer expiring.
Marty
|
2754.2 | a few more questions | TKTVFS::MATSUSHIMA | Product Support/MCS/JAPAN | Wed Feb 05 1997 04:14 | 18 |
| Hello Marty,
Thank you for your answer.
I'm sorry I have a few more questions.
>> 2. Could you please illustrate what correction is added on DMQ V3.2 ?
>> and why the problem occurs by setting the timer to minimum value ?
> The ordering of the testing of a message arrivial and timeout
> was wrong which resulted in a message being successfully dequeued
> and then having it's status overwritten by the wait timer expiring.
Why a message loss occure though the message is successfully dequeued?
I think that "a message is successfully dequeued" means that an application
can get the meesage. So, please tell me the meaning of "dequeue" because I may
have wrong understanding of it.
I appreciate that the one like the time chart will be shown, if possible.
Regards,
Hideki Matsushima
|
2754.3 | A clearer explaination... | KLOVIA::MICHELSEN | DECmessageQ Engineering | Wed Feb 05 1997 08:39 | 20 |
| re: .2
> Why a message loss occure though the message is successfully dequeued?
> I think that "a message is successfully dequeued" means that an application
>can get the meesage. So, please tell me the meaning of "dequeue" because I may
>have wrong understanding of it.
> I appreciate that the one like the time chart will be shown, if possible.
Sorry that I wasn't clear. What I ment was that internally DmQ
removed the message from the global memory queue and is in the process
of returning that message to the application. However, in the middle
of this operation the user specified pams_get_msgw timeout expires
and sets a flag. The DmQ code erronously acts upon the timeout
condition and thus does not complete the transfer of the dequeued
msg back to application. This results in PAMS__TIMEOUT being returned
to the caller and the dequeued message is ignored and thus lost.
Marty
|