{"record":{"id":"a119b5034929f0cd","repo":"cube-js/cube","slug":"cubestoredriverfactory-is-a-required-option-for-cu-a119b5","errorCode":null,"errorMessage":"cubeStoreDriverFactory is a required option for Cube Store queue driver","messagePattern":"cubeStoreDriverFactory is a required option for Cube Store queue driver","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cubejs-query-orchestrator/src/orchestrator/QueryQueue.ts","lineNumber":70,"sourceCode":"  processUid?: string;\n  concurrency?: number,\n  continueWaitTimeout?: number,\n  executionTimeout?: number,\n  orphanedTimeout?: number,\n  heartBeatInterval?: number,\n  redisPool?: any,\n  cubeStoreDriverFactory?: any,\n  queueDriverFactory?: (cacheAndQueueDriver: string, queueDriverOptions: any) => QueueDriverInterface,\n  skipQueue?: boolean,\n};\n\nfunction factoryQueueDriver(cacheAndQueueDriver: string, queueDriverOptions): QueueDriverInterface {\n  switch (cacheAndQueueDriver || 'memory') {\n    case 'memory':\n      return new LocalQueueDriver(queueDriverOptions);\n    case 'cubestore':\n      if (!queueDriverOptions.cubeStoreDriverFactory) {\n        throw new Error('cubeStoreDriverFactory is a required option for Cube Store queue driver');\n      }\n\n      return new CubeStoreQueueDriver(\n        queueDriverOptions.cubeStoreDriverFactory,\n        queueDriverOptions\n      );\n    default:\n      throw new Error(`Unknown queue driver: ${cacheAndQueueDriver}`);\n  }\n}\n\nexport class QueryQueue {\n  protected concurrency: number;\n\n  protected continueWaitTimeout: number;\n\n  protected executionTimeout: number;\n","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/packages/cubejs-query-orchestrator/src/orchestrator/QueryQueue.ts#L52-L88","documentation":"A startup validation guard in factoryQueueDriver: selecting the 'cubestore' queue driver requires a cubeStoreDriverFactory in queueDriverOptions to create the CubeStore-backed queue driver; it was missing or null. Like the QueryCache counterpart, this fails fast during queue construction. The input at fault is queue driver options lacking cubeStoreDriverFactory while cacheAndQueueDriver is 'cubestore'.","triggerScenarios":"Thrown at packages/cubejs-query-orchestrator/src/orchestrator/QueryQueue.ts:70 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass cubeStoreDriverFactory in queueDriverOptions when cacheAndQueueDriver is 'cubestore' — normally wired by QueryOrchestrator from CUBEJS_CUBESTORE_HOST/PORT","Set CUBEJS_CUBESTORE_HOST and CUBEJS_CUBESTORE_PORT so the factory is constructed","Use 'memory' queue driver if Cube Store is not deployed"],"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"}