{"record":{"id":"c77b6d8a30210817","repo":"cube-js/cube","slug":"only-cubestore-or-memory-are-supported-for-cac","errorCode":null,"errorMessage":"Only 'cubestore' or 'memory' are supported for cacheAndQueueDriver option, passed: ${cacheAndQueueDriver}","messagePattern":"Only 'cubestore' or 'memory' are supported for cacheAndQueueDriver option, passed: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cubejs-query-orchestrator/src/orchestrator/QueryOrchestrator.ts","lineNumber":81,"sourceCode":"  protected queryCache: QueryCache;\n\n  protected readonly preAggregations: PreAggregations;\n\n  protected readonly rollupOnlyMode: boolean;\n\n  protected readonly cacheAndQueueDriver: string;\n\n  public constructor(\n    protected readonly redisPrefix: string,\n    protected readonly driverFactory: DriverFactoryByDataSource,\n    protected readonly logger: LoggerFn,\n    options: QueryOrchestratorOptions = {}\n  ) {\n    this.rollupOnlyMode = options.rollupOnlyMode;\n    const cacheAndQueueDriver = detectQueueAndCacheDriver(options);\n\n    if (!['memory', 'cubestore'].includes(cacheAndQueueDriver)) {\n      throw new Error(\n        `Only 'cubestore' or 'memory' are supported for cacheAndQueueDriver option, passed: ${cacheAndQueueDriver}`\n      );\n    }\n\n    const { externalDriverFactory, continueWaitTimeout, skipExternalCacheAndQueue } = options;\n\n    this.cacheAndQueueDriver = cacheAndQueueDriver;\n\n    const cubeStoreDriverFactory = cacheAndQueueDriver === 'cubestore' ? async () => {\n      if (externalDriverFactory) {\n        const externalDriver = await externalDriverFactory();\n        if (externalDriver instanceof CubeStoreDriver) {\n          return externalDriver;\n        }\n\n        throw new Error('It`s not possible to use Cube Store as queue/cache driver without using it as external');\n      }\n","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/packages/cubejs-query-orchestrator/src/orchestrator/QueryOrchestrator.ts#L63-L99","documentation":"A startup guard in QueryOrchestrator's constructor: detectQueueAndCacheDriver returned a value outside the allowed set, so the requested cacheAndQueueDriver option is unsupported. It duplicates the same validation done in QueryCache/QueryQueue and fails before any queue is created. The input at fault is a cacheAndQueueDriver option string other than 'memory' or 'cubestore'.","triggerScenarios":"Thrown at packages/cubejs-query-orchestrator/src/orchestrator/QueryOrchestrator.ts:81 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set CUBEJS_CACHE_AND_QUEUE_DRIVER (or the equivalent option) to 'memory' or 'cubestore'","Check detectQueueAndCacheDriver() — an external driver type can be inferred as the cache/queue driver; use CubeStoreDriver or keep external store separate","Correct typos in the driver option value"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}