Skip to content

[feat] Implement Advanced Throttling & Rate Limiting with Dynamic Adjustment #505

@DhanashreePetare

Description

@DhanashreePetare

Description:

The current throttler system in iDDS lacks enforcement and intelligent rate limiting:

Missing Features:

  • Dynamic rate limiting based on system load
  • Token bucket / sliding window algorithms
  • Priority queue for request ordering
  • Per-User and Per-VO rate limits
  • Backpressure handling with auto-scaling
  • 429 Too Many Requests responses

Current Gap:
throttlers.py only has basic add/get operations. No enforcement logic exists to actually limit requests based on configured thresholds.

What Needs to be Done:

  1. Add rate limiter enforcer in Clerk agent
  2. Implement token bucket algorithm
  3. Create priority queue management
  4. Support per-VO/user limits from database
  5. Add rate limit headers to API responses
  6. Detect system overload and reject gracefully

Why It Matters:
Essential for multi-tenant production systems to prevent resource exhaustion and ensure fair resource allocation across users and organizations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions