Document loss during patch migration

Hi
I am facing a problem in package deployment. We are using the local publish/subscribe model. Once we try to install any package patch during the day we missed few documents with log messages…no service found …document rejected. We know this happen during the patch installation because the service which attached to the trigger is in the same package. Once we try to install the patch through webmethods publish/subscribe approach the webmethods unload the package and then load it. The time between unload and load is where we are getting this issue.
If anyone faced this issue before and resolved it then please let me know. If anyone have the better solution please let me know. I checked with webmethods and they said that with local publish you need to do the migratin at no or low activity time,which I think is not possible with our company.

Thanks
Gopang

What version of webMethods pub/sub are you using? If you are using 4.6 or earlier, you need to stop your adapters, or wait until a quiet time.
If you are using 6.1, you can pause your triggers. Also, 6.1 has a tool called deployer which will pause the triggers automatically.

Roger

Thanks for yours response Roger. I am using 6.1 and not using the deployer. Could you please let me know what do you mean by “pause your triggers”? Do you mean to disable the trigger? If this is true then what will happen to the documents in the documentstore if the trigger will be disabled.
Please Advice.

Thanks
Gopang

There is an enhancement called “IS_6-1_Fix22” that will supply you with 4 new services in the WmPublic package:

  • pub.trigger:suspendRetrieval
  • pub.trigger:resumeRetrieval
  • pub.trigger:suspendProcessing
  • pub.trigger:suspendRetrieval

pub.trigger:suspendRetrieval will stop documents from being retrieved for the trigger from the broker. Any server threads currently retrieving documents for the trigger will execute to completion.

pub.trigger:suspendProcessing will documents from being processed from the trigger queue.

I think the biggest difference is that if you execute suspendRetrieval, all of the docs in the trigger queue will be processed before things stop, and if you run suspendProcessing, the trigger queue will be filled, but processing will stop after the current document being processed is complete.