Skip to content

Vouch request: @eeshsaxena (bug fixes in #4496) #4497

Description

@eeshsaxena

Why do you want to contribute?

Hi, I'm Eesh. I was reading through the codebase and hit a couple of real bugs, so I opened #4496 to fix them:

  • unflattenAttributes throws "RangeError: Invalid array length" when an attribute holds an object whose keys are all large numbers, like millisecond timestamps. It turns the object into an array and calls Array(maxIndex + 1). This is reachable from normal task input/output since run data gets flattened for telemetry and unflattened for display. I added a guard so those values stay as an object, plus regression tests.

  • The weighted fair-queue scheduler ranks tenants by their raw queue score, but a score is the oldest-message timestamp (lower means older/higher priority). So when maximumTenantCount is set it favors the newest tenants instead of the ones waiting longest, and since the timestamps are all close in magnitude the weighting is basically uniform. I changed it to weight by age (now - score), matching what the other methods in that file already do.

I'd like to keep sending small, well-scoped fixes like these, mostly around the run engine, redis-worker, and core packages.

Prior contributions or relevant experience

I'm a CS student and competitive programmer, and I do a fair bit of AI/ML and backend work in TypeScript, so the run engine and queue internals are the kind of thing I enjoy digging into.

GitHub: https://github.com/eeshsaxena
Some previous open source work: <paste 1-2 links to your PRs/repos here>

#4496 is a good sample of how I like to work: reproduce the bug first, keep the change minimal, add a regression test, and follow the repo's changeset and PR conventions.

i have got accepted PRs in redis ,pandas, scipy, matplotlib, xarray, bokeh

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