Default Purge Does Not Delete Streams
Hello community!
I'm facing a base growth issue, which is being generated by a process and an Ensemble feature.
When executing the process of cleaning up the message queues, the Ensemble “preserves” the Streams that were part of these messages, deleting only the Header and Body. In this way the database (of one of the namespaces) has grown around 60GB per day, which has been maxing out the disk capacity.
InterSystems informed that this is a characteristic and that it is explained in the documents mentioned below.
https://community.intersystems.com/post/ensemble-orphaned-messages
And also in this part of the documentation: https://cedocs.intersystems.com/ens201812/csp/docbook/DocBook.UI.Page.cl...
I think the procedure is to implement the removal of these stream objects in the %OnDelete() method of the class referring to this message, but the complexity of this message makes this specific property not reached by the standard purge. A stream is not exactly what is in the content, because inside it you can have fields of type Stream, GlobalCharacterStream, etc.
It is these fields that he does not delete and he should delete. As I understand the data is inside a global called ^CacheStream and from there they are never deleted.
With this, I'm having difficulties in knowing what's inside it, what's in each interface and what's still being used. Since it has no direct connection with Stream classes.
Has anyone had a problem so they can help me?
Thank you very much in advance,
Guilherme Koerber.