Skip to content

Fix Request Queue Memory Leaks #11

@hcaslan

Description

@hcaslan

Description:

The RequestQueue class has potential memory leaks and doesn't handle queue cleanup properly.

Memory Leak Issues:

// In requestQueue.js
async add(requestFn) {
  return new Promise((resolve, reject) => {
    this.queue.push({
      request: requestFn,
      resolve,
      reject
    });
    // These promises can accumulate if process() fails
  });
}

Problems:

  • Failed requests leave promises in memory
  • No queue size limits - can grow indefinitely
  • No cleanup mechanism for stale requests
  • Missing request timeout handling
  • No metrics for queue performance monitoring

Required Fixes:

  • Add queue size limits with configurable overflow behavior
  • Implement proper cleanup for failed/completed requests
  • Add request timeout handling in queue
  • Memory usage monitoring and warnings
  • Queue performance metrics

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingperformancePerformance optimization and bottleneckspriority: mediumImportant but not urgent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions