You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cube.js多阶段YoY度量+time_shift引发CubeStore DataFusion列索引越界错误

CubeStore多阶段YoY度量查询触发DataFusion ProjectionPushdown内部错误

问题描述

执行包含multi_stage: true的YoY度量(使用time_shift函数)、且针对CubeStore中存储的外部预聚合数据的查询时,/v1/load接口返回来自CubeStore的ProjectionPushdown优化器的DataFusion内部错误。

错误信息

{"error": "Error: Internal: ProjectionPushdown\ncaused by\nInternal error: Could not create `ExprBoundaries`: in `try_from_column` `col_index` has gone out of bounds with a value of 6, the schema has 6 columns..\nThis was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker"}

环境版本

  • @cubejs-backend/server:1.6.16
  • @cubejs-backend/cubestore:1.6.16

复现步骤

  • 使用包含多阶段YoY度量的简化Cube模型及视图;
  • 向POST /cubejs-api/v1/load接口发送指定维度、度量、时间范围及过滤条件的查询请求。

预期行为

查询返回选定年份范围内按国家和HS2代码分组的YoY对比数据(包含TEU数值及TEU同比变化率)。

实际行为

CubeStore返回DataFusion ProjectionPushdown内部错误,查询无法正常完成。

问题分析

预聚合表包含6列(索引范围0-5),Cube的Tesseract规划器生成带时间偏移的CTE,DataFusion的ProjectionPushdown优化器在计算ExprBoundaries时引用了超出范围的列索引6。该问题曾在DataFusion项目中出现,且已在后续版本中修复。

内容的提问来源于stack exchange,提问作者draymond

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 09:34:52