Volatile documents discard property as false!

I have a doubt. In pub sub guide it is mentioned that we can set the discard property of documents as true or false. If it is set as false, doc says, “Specify that the Broker should never discard instances of this publishable document type”. My concern here is that, “Will the broker keep such volatile documents forever whose discard property is set as false since broker don’t get any acknowledgement for volatile documents?”.

Hi Shalini,

1.The volatile document is not recovered when the broker restarted. even though if you set the value as FALSE for discard property of document.
2.The volatile storage for documents that have a short life

If am I wrong , can you please suggest me.

Thanks & Regards,

I am not concerned about broker restart. If broker is in good health, do those documents remain on the broker till broker restart? and what you try to convey with “volatile storage for documents that have a short life”. Could you please explain in brief?

1.The Integration server is published the documents to the BrokerServer.To holds these documents in Broker server consumes a memory.
Generally Volatile documents is placed in memory. So most of the memory can be consumed by volatile document and certain portion of memory is used to cache guaranteed.
Broker server requires an enough physical memory to hold these documents(Volatile and Guaranteed).
2.If the brokerserver holds more documents in a memory leads to performance drop down significantly. We need to the delete an expired volatile documents from the client queue proactively .By setting the parameters “queue cleanup-enable” and “queue-cleanup-threshold” parameters in the awbroker.cfg file

3.queue cleanup-enable is 1 :

Broker checks all the queues for expired volatile documents and deletes them only when the total size of the volatile documents is equal to or greater than
the memory size you specify in the queue-cleanupthreshold parameter.

4.queuecleanup-enable is 0 : Broker server will delete volatile documents as per value set to Time to Live parameter
TIme to Live : Time to Live parameter value specifies that how long the published documents(volatile and Guaranteed) are valid on the Broker.
Broker does not actively check if a document has exceeded its time to live. A document’s time to live is checked only when a client retrieves the document.An expired document is discarded when the Broker attempts to deliver it to the client.This behavior can be changed for volatile documents only by allowing Broker to proactively delete volatile expired documents.

If you do not want to delete the documents and set the value as 0 and it reduce the performance of broker to hold the documents.

5.queue-cleanup threshold: When queue-cleanup-enable is set to 1, specify the memory size
(in MB) after which Broker will delete expired volatile documents.

I guess these points helps to clarify your doubts.

Thanks & Regards,

Very much thanks Jeevan for such a detailed explanation. Really it’s very much informative.