Skip to content

RateLimiter "limit lifted" observer fires on a wall-clock Timer deadline #5577

@runningcode

Description

@runningcode

Audit finding C3 — theoretical, LOW.

RateLimiter stores retry-after as epoch Dates (self-consistent), but the "limit lifted" observer callback is scheduled via Timer.schedule(task, absoluteDate). A wall-clock step shifts when it fires (continuous profilers resume late), and a backward step silently extends the drop window.

Shares the same java.util.Timer hazard as the tracer (B1) and session-end (B2) timers.

Source: JAVA-557 §C3.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions