09-23-04 02:53 AM
Thanks Iuliu, that clears up at least why the HAT entries are there.
However, I have continued experementing with MSMQT and have also found the
following:
1. Orphan receive entries in HAT. When you receive via MSMQT, you see
multiple entries created in HAT for each queue. The message status is always
Delivered not Consumed and the service status is either Active or Dehydrated
.
As time goes on, the retry count goes up and up whether you are sending
messages in or not. I am not convinced this is a problem, but normally any
instance that shows delivered not consumed is of concern. Other than looking
at the WMI snap in for MSMQ from the clients (at Outgoing Queues) it seems
impossible to tell if BizTalk is actually picking the messages up. Is there
any way of doing this?
2. Orphan send entries in HAT. Similar to the issue above. Each queue
generates multiple entries with a message status of Delivered not Consumed
and a service status of active. Once again the retry count goes up an up, bu
t
if you add up all the instances of the queue, equates roughly to the number
of messages that actually are sent. Even when all of the messages have been
consumed by the client, the entries stay there, so how can I tell if the
destination queue has received the message?
3. Load balancing. In my two node scenario, it seems that only one is ever
consuming messages. I can tell this by stopping the host instance on the box
that I think is consuming. At this stage, the client sending the messages in
is not getting ack’s, so the outbound queue is building up. Only if I
actually reboot the server that has the stopped host, do messages start to
get picked up by the other server. How can I see that MSMQT is actually load
balancing requests?
4. Failover. As above, server that seems to be processing the queue stops
working, then the queue becomes blocked. At the moment I am having to
physically reboot it before things pick up. There are no event logs being
generated on either server, so I do not even have a hook that I can use yo
get the server rebooted. Is there a documented way to do failover of MSMQT?
5.. Failure to retransmit messages after the client has gone down. On the
send side, if the client becomes unavailable, entries are generated in HAT
with a Message Status of Consumed and Service Status of Active. Even when th
e
client becomes available again, there is no change, the messages just sit
there. Subsequent messages to the client (even if it is now available) also
just sit there in the same state. Once again, there are no event log entries
,
no retries. If I stop and restart the host instance, the messages are finall
y
transmitted successfully.
I would appreciate feedback from anyone else who has come across this and/or
resolved any of these issues. Is this the expected behaviour? I would have
expected the sends to occur as soon as the client becomes available
Thanks
Andy
[ Post a follow-up to this message ]
|