For libraries that provide the maintenance function PurgeDeletes(), this should be enhanced to follow this algorithm:
Create a "watcher all" (subject is ">")
Iterate through entries, if entry is a DEL or PURGE, add this entry to a list
After getting the last entry, for through the list of "delete markers". If the marker is older than a certain threshold (default 30 minutes), then purge the stream by subject. If the marker is recent, purge the stream by subject, but add the "Keep:1" to the stream purge request, so that we keep the marker.
There is no ADR for that since PurgeDeletes() is not part of the core API.
Client authors please update with your progress. If you open issues in your own repositories as a result of this request, please link them to this one by pasting the issue URL in a comment or main issue description.
Overview
For libraries that provide the maintenance function PurgeDeletes(), this should be enhanced to follow this algorithm:
There is no ADR for that since PurgeDeletes() is not part of the core API.
Clients and Tools
Other Tasks
Implemented
Client authors please update with your progress. If you open issues in your own repositories as a result of this request, please link them to this one by pasting the issue URL in a comment or main issue description.