This setting is typically only used during troubleshooting. If enabled, PrismMQ takes special steps to ensure that no messages are lost if there is a RabbitMQ failure. If Initialization Guaranteed Message Delivery is set to False, then some messages may be lost if there is a RabbitMQ Failure (not just a PrismMQ failure). In such a case, even a restart of initialization will likely get stuck and not finish, and the initialization will have to be restarted from the last completed resource.
If you enable InitGuaranteed Message Delivery, then you also should enable ResumeInitOnStartup.
By setting ResumeInitOnStartup to true, if a consumer does down during an initialization, when it is restarted it will resume initialization automatically so that no messages are lost. By default, both InitGuaranteedMessageDelivery and ResumeInitOnStartup are set to False.
There is a performance hit to using these settings. When you are ready to do troubleshooting, change the settings to True. After troubleshooting, change the settings back to false to avoid the performance hit.
Here's a typical use case: Let's say you start an initialization and realize the consumer's 20 thread default is too low for the power of the machine. You can pause that consumer, change the thread count and then resume the consumer. Initialization will pick up where it left off with the new thread count. If GMD is set to False, then some messages may be lost if there is a RabbitMQ Failure (not just a PMQ failure). In such a case, even a restart of initialization will likely get stuck and not finish, and the initialization will have to be restarted from the last completed resource. When turning on GMD for a system that has both sender and consumer on same system (i.e., V9 and Prism on same system) will slow down initialization for this system and any others that might be included in an initialization batch with this system.
Here are the how you should configure the settings for both the [Prism] and [V9] sections of the PrismMQService.ini file.