Skip to content

TTL plugin for automatic entry cleanup #92

@pavelhoral

Description

@pavelhoral

Summary

Currently AM is using for its CTS store a set of reaper processes, that scan repository for expired tokens and deletes them. These processes are being scheduled on all AM instances which means that they compete for DS resources and can invoke duplicate delete requests.

Solution You'd Like to See

The resource competition can be solved by making sure reaper processes run only on a single AM instance via some distributed locking mechanism. However a much simpler solution would be if the DS itself would implement TTL plugin that will delete expired entries based on expiration date in a pre-configured attributes. Such process can even skip replication as the deletion can be handled locally by every DS instance itself. Additionally AM can get notified about entry deletion via psearch if needed.

Additional Notes

I would like to see some proof-of-concept for this approach first. Maybe even perftest that compare CTS reaper process approach with TTL plugin approach. Also this would require changes on AM side to make it possible to disable reaper processes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementFeature implementations, or application improvements.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions