{"record":{"id":"d8b290522707f4e9","repo":"mastra-ai/mastra","slug":"experiment-no-items-d8b290","errorCode":"EXPERIMENT_NO_ITEMS","errorMessage":"No items in dataset ${datasetId} at version ${datasetVersion}","messagePattern":"No items in dataset (.+?) at version (.+?)","errorType":"error_code","errorClass":"MastraError","httpStatus":null,"severity":"error","filePath":"packages/core/src/datasets/experiment/index.ts","lineNumber":275,"sourceCode":"\n      datasetRecord = await datasetsStore.getDatasetById({ id: datasetId, filters: config.filters });\n      if (!datasetRecord) {\n        throw new MastraError({\n          id: 'DATASET_NOT_FOUND',\n          text: `Dataset not found: ${datasetId}`,\n          domain: 'STORAGE',\n          category: 'USER',\n        });\n      }\n\n      datasetVersion = version ?? datasetRecord.version;\n      const versionItems = await datasetsStore.getItemsByVersion({\n        datasetId,\n        version: datasetVersion,\n      });\n\n      if (versionItems.length === 0) {\n        throw new MastraError({\n          id: 'EXPERIMENT_NO_ITEMS',\n          text: `No items in dataset ${datasetId} at version ${datasetVersion}`,\n          domain: 'STORAGE',\n          category: 'USER',\n        });\n      }\n\n      items = versionItems.map(v => ({\n        id: v.id,\n        datasetVersion: v.datasetVersion,\n        input: v.input,\n        groundTruth: v.groundTruth,\n        expectedTrajectory: v.expectedTrajectory as TrajectoryExpectation | undefined,\n        requestContext: v.requestContext,\n        metadata: v.metadata,\n        toolMocks: v.toolMocks,\n        unmockedToolPolicy: v.unmockedToolPolicy,\n        scorerIds: v.scorerIds,","sourceCodeStart":257,"sourceCodeEnd":293,"githubUrl":"https://github.com/mastra-ai/mastra/blob/75dd419e613fe9c39f846ffc500716141b74fda6/packages/core/src/datasets/experiment/index.ts#L257-L293","documentation":"After resolving the dataset, runExperiment fetches the items for the dataset's version via getItemsByVersion; if the version has zero items the experiment would be meaningless, so a MastraError with id EXPERIMENT_NO_ITEMS is thrown. This guards against silently 'running' an experiment over an empty item set.","triggerScenarios":"Running an experiment against a dataset version that contains no items — e.g. a newly created dataset whose items were never added, or a version where all items were deleted.","commonSituations":"Dataset created but item upload failed or was skipped; pointing at version N before items were pushed; retention job purged items; using the latest version identifier when items live on an earlier version.","solutions":["Add items to the dataset version via the datasets store (addItems/upload) before running","Target the dataset version that actually contains items","Check getItemsByVersion output to confirm the item count for that version","If items were purged, restore/re-upload them and re-run"],"exampleFix":"// before\nawait runExperiment({ datasetId: 'ds_123', ... }); // version 2 empty\n// after\nconst items = await datasetsStore.getItemsByVersion({ datasetId: 'ds_123', version: 2 });\nif (items.length === 0) await datasetsStore.addItems({ datasetId: 'ds_123', items });\nawait runExperiment({ datasetId: 'ds_123', ... });","handlingStrategy":"validation","validationCode":"const items = await datasetsStore.getItemsByVersion({ datasetId, version });\nif (items.length === 0) throw new Error(`Dataset ${datasetId} v${version} has no items`);","typeGuard":null,"tryCatchPattern":"try {\n  await runExperiment(config);\n} catch (err) {\n  if (err instanceof MastraError && err.id === 'EXPERIMENT_NO_ITEMS') {\n    // add items to the dataset version, then retry\n  } else throw err;\n}","preventionTips":["Upload items immediately after dataset creation and verify the count","Check item counts per version before scheduling experiment runs","Confirm which dataset version the run will target","Alert on datasets whose latest version has zero items"],"tags":["storage","dataset","empty-data","experiment"],"backgroundTag":"empty-dataset","analyzedSha":"75dd419e613fe9c39f846ffc500716141b74fda6","analyzedAt":"2026-08-30T00:15:31.844Z","schemaVersion":2},"datasetVersion":"2026-08-30T08:17:16.595Z"}