{"record":{"id":"26f58e3371142919","repo":"paperclipai/paperclip","slug":"too-many-concurrent-issue-list-requests-for-this-a","errorCode":null,"errorMessage":"Too many concurrent issue-list requests for this actor/client","messagePattern":"Too many concurrent issue-list requests for this actor/client","errorType":"http","errorClass":null,"httpStatus":429,"severity":"error","filePath":"server/src/routes/issues.ts","lineNumber":6333,"sourceCode":"        companyId: issue.companyId,\n        issueId: issue.id,\n        executionWorkspaceId: issue.executionWorkspaceId ?? null,\n        failureReason: `issue_terminal_${issue.status}`,\n      });\n    } catch (err) {\n      logger.warn(\n        { err, issueId: issue.id, executionWorkspaceId: issue.executionWorkspaceId ?? null },\n        \"failed to destroy reusable sandbox leases for terminal issue\",\n      );\n    }\n  }\n\n  async function resolveIssueRouteId(rawId: string): Promise<string> {\n    const identifier = normalizeIssueReferenceIdentifier(rawId);\n    if (identifier) {\n      const issue = await svc.getByIdentifier(identifier);\n      if (issue) {\n        return issue.id;\n      }\n    }\n    return rawId;\n  }\n\n  async function resolveIssueProjectAndGoal(issue: {\n    companyId: string;\n    projectId: string | null;\n    goalId: string | null;\n  }) {\n    const projectPromise = issue.projectId ? projectsSvc.getById(issue.projectId) : Promise.resolve(null);\n    const directGoalPromise = issue.goalId ? goalsSvc.getById(issue.goalId) : Promise.resolve(null);\n    const [project, directGoal] = await Promise.all([projectPromise, directGoalPromise]);\n\n    if (directGoal) {\n      return { project, goal: directGoal };\n    }\n","sourceCodeStart":6315,"sourceCodeEnd":6351,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/routes/issues.ts#L6315-L6351","documentation":"429 from the issue-list request coordinator: too many identical in-flight list requests for the same actor/client key; the response is retried after the supplied Retry-After seconds instead of duplicating work.","triggerScenarios":"Thrown at server/src/routes/issues.ts:6027 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Back off and retry after a delay; reduce request concurrency or frequency for this actor/client."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}