MQSC (MQ Base-Client) Receive Adapter Behaviour when stopping Host Instance - Duplication Issue


i have set receive location on mq series queue using mqsc adapter (non-transactional mq base-client). messages collected , not visible on queue anymore. simple sendport subscription message coming through mentioned receiveport writes collected messages filesystem.

everything looks fine:
 - no more messages in queue or msgbox, messages have been written final destination, no error messages or warnings in event logs.

but:
 - if hostinstance mqsc adapter associated stopped messages ever (as long hostinstace running) collected queue "reappear". have original putdate. i'd duplication of messages.

it seems if adapter never "commits" deletion of messages on queue know little mq guess.

the documentation adapter states:
" can configure mqsc adapter support non-transactional messaging when integrating mqseries queues. this, mqsc adapter uses websphere mq base-client. in case, adapter guarantees no messages lost. duplication of messages can occur under failure conditions. therefore, should use configuration option if application consuming message biztalk server or mqseries queues can handle duplication of messages. prevent loss of messages, mqsc adapter first mqget browse lock setting mqgmo_browse_first , mqgmo_lock options. adapter submits message biztalk server. if submitted message biztalk server successful, adapter destructive mqget mqgmo_msg_under_cursor option. if failure occurs while submitting message biztalk server, adapter mqget mqgmo_unlock additional operations can performed on message"

as no errors come i  presume all  above should have worked? seems if adapter either doesn't "understand" submission of messages bts successful or doesn't send destructive mqget mqgmo_msg_under_cursor option  or if not successfully.

is problem of adapter or have used wrong setttings? or should queue settings revised (i have no control on mq manager)? cannot believe behaviour should normal restart of hostinstance not constitute failure condition, if no messages in msgbox @ time

help or tips apreciated!

i assisted customer problem , there hotfix should in case well.

 

http://support.microsoft.com/kb/932523

 

the problem when messages put distributed queue manager, default behavior messages put outside of synchpoint. z/os queue manager default behavior messages put within synchpoint (inside of unit of work). get() should use mqgmo_no_syncpoint option since messages outside of synchpoint not need committed.  behavior changed 932523 should apply problem well.

 

good luck


BizTalk Server  >  BizTalk Server Adapters and Adapter Pack



Comments

Popular posts from this blog

Azure DocumentDB Owner resource does not exist

job syspolicy_purge_history job fail in sqlserver 2008

Trying to register with public marketplace error with 'Get-AzureStackStampInformation'