{"record":{"id":"4c82826f7c3e5343","repo":"mastra-ai/mastra","slug":"dataset-not-found-input-datasetid-4c8282","errorCode":null,"errorMessage":"Dataset not found: ${input.datasetId}","messagePattern":"Dataset not found: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/src/storage/domains/datasets/inmemory.ts","lineNumber":550,"sourceCode":"    const end = perPageInput === false ? versions.length : start + perPage;\n\n    return {\n      versions: versions.slice(start, end),\n      pagination: {\n        total: versions.length,\n        page,\n        perPage: perPageForResponse,\n        hasMore: perPageInput === false ? false : versions.length > end,\n      },\n    };\n  }\n\n  // --- Bulk operations (SCD-2 internally) ---\n\n  protected async _doBatchInsertItems(input: BatchInsertItemsInput): Promise<DatasetItem[]> {\n    const dataset = this.db.datasets.get(input.datasetId);\n    if (!dataset) {\n      throw new Error(`Dataset not found: ${input.datasetId}`);\n    }\n    if (input.items.length === 0) return [];\n\n    const acceptedByExternalId = new Map<string, { first: DatasetItemRow; current: DatasetItemRow | null }>();\n    for (const rows of this.db.datasetItems.values()) {\n      const first = rows[0];\n      if (!first || first.datasetId !== input.datasetId || !first.externalId) continue;\n      const existing = acceptedByExternalId.get(first.externalId);\n      if (existing && existing.first.id !== first.id) {\n        throw new Error(`Dataset item identity history is corrupt for externalId: ${first.externalId}`);\n      }\n      acceptedByExternalId.set(first.externalId, {\n        first,\n        current: rows.find(row => row.validTo === null && !row.isDeleted) ?? null,\n      });\n    }\n\n    const conflicts = [];","sourceCodeStart":532,"sourceCodeEnd":568,"githubUrl":"https://github.com/mastra-ai/mastra/blob/75dd419e613fe9c39f846ffc500716141b74fda6/packages/core/src/storage/domains/datasets/inmemory.ts#L532-L568","documentation":"batchInsertItems looks up the target dataset before inserting rows and throws when datasetId does not resolve. Unlike single-item paths, no items are written and the dataset version is untouched.","triggerScenarios":"storage.datasets.batchInsertItems({ datasetId, items }) with a deleted or never-created datasetId; typo in dataset id; calling after store restart; calling with an id from a different storage instance.","commonSituations":"Seeding a dataset created conditionally (create failed silently upstream); using an id persisted from a previous in-memory run; multi-instance setups where ids belong to another process's memory.","solutions":["Create the dataset first (createDataset) and use the returned id.","Log/verify the datasetId string — check for typos or trimmed/undefined values.","Check the dataset wasn't deleted earlier in your flow; re-create if needed.","Ensure the same storage instance is used throughout the request lifecycle."],"exampleFix":"// before\nawait storage.datasets.batchInsertItems({ datasetId: maybeId, items });\n// after\nconst ds = await storage.datasets.get(maybeId);\nif (!ds) {\n  const created = await storage.datasets.create({ name: 'my-dataset' });\n  await storage.datasets.batchInsertItems({ datasetId: created.id, items });\n}","handlingStrategy":"validation","validationCode":"const ds = await storage.datasets.get(datasetId);\nif (!ds) {\n  const created = await storage.datasets.create({ name: 'auto' });\n  datasetId = created.id;\n}","typeGuard":"null","tryCatchPattern":"try {\n  await storage.datasets.batchInsertItems({ datasetId, items });\n} catch (e) {\n  if (String(e).startsWith('Dataset not found')) {\n    const created = await storage.datasets.create({ name: 'recovered' });\n    await storage.datasets.batchInsertItems({ datasetId: created.id, items });\n  } else throw e;\n}","preventionTips":["Always derive datasetId from the create() return value.","Create datasets before seeding; never assume pre-existing ids.","Use one shared storage instance for the whole lifecycle."],"tags":["storage","datasets","inmemory","missing-resource"],"backgroundTag":"resource-not-found","analyzedSha":"75dd419e613fe9c39f846ffc500716141b74fda6","analyzedAt":"2026-08-30T00:15:31.844Z","schemaVersion":2},"datasetVersion":"2026-08-30T08:17:16.595Z"}