Not Found string in global dict: 2:1

SELECT
t.*,
c.CODENAME
FROM
SMS_SEND_REPORT t
LEFT JOIN SMS_CODE c ON c.CODE = t.MCODE
WHERE
SENDTIME >= STR_TO_DATE(‘2018-03-01’, ‘%Y-%m-%d’ )
AND SENDTIME <= STR_TO_DATE(‘2022-03-30’, ‘%Y-%m-%d’)
ORDER BY
SENDTIME DESC,
t.PKNUMBER,
t.ID
LIMIT 1,10
已上sql查询的时候,报了这个错:Not Found string in global dict: 2:1,目前不知道啥原因,求助。

之前sql都是好的,没问题,但是清空表之后,重新导入数据之后,就出问题了。

相关的报错信息
2022-06-23 14:39:09,189 WARN (thrift-server-pool-854|25497) [Coordinator.updateFragmentExecStatus():1606] one instance report fail errorCode INTERNAL_ERROR Not Found string in global dict: 2:1 , query_id=2f808631-f2bf-11ec-9d68-fa163e6c0a0e instance_id=2f808631-f2bf-11ec-9d68-fa163e6c0a10
2022-06-23 14:39:09,189 WARN (thrift-server-pool-854|25497) [Coordinator.updateStatus():712] one instance report fail throw updateStatus(), need cancel. job id: -1, query id: 2f808631-f2bf-11ec-9d68-fa163e6c0a0e, instance id: 2f808631-f2bf-11ec-9d68-fa163e6c0a10
2022-06-23 14:39:09,192 WARN (thrift-server-pool-751|21145) [Coordinator.updateFragmentExecStatus():1606] one instance report fail errorCode CANCELLED Cancelled because of runtime state is cancelled, query_id=2f808631-f2bf-11ec-9d68-fa163e6c0a0e instance_id=2f808631-f2bf-11ec-9d68-fa163e6c0a13
2022-06-23 14:39:09,193 WARN (starrocks-mysql-nio-pool-9555|27775) [Coordinator.getNext():731] get next fail, need cancel. status errorCode CANCELLED Cancelled BufferControlBlock::cancel, query id: 2f808631-f2bf-11ec-9d68-fa163e6c0a0e
2022-06-23 14:39:09,194 WARN (starrocks-mysql-nio-pool-9555|27775) [Coordinator.getNext():752] query failed: Not Found string in global dict: 2:1
2022-06-23 14:39:09,232 WARN (ForkJoinPool.commonPool-worker-6|27777) [StatisticExecutor.queryDictSync():184] Parse success select cast(101 as Int), cast(1655951484777 as bigint), dict_merge(REPLYMOBILE) as _dict_merge_REPLYMOBILE from dzwsms.SMS_SEND_REPORT [META]

清空之前的表有没有给列加索引之类的东西?

表是用的明细模型建的,建的时候有
DUPLICATE KEY(sendtime, id),对时间和id列指定了排序键,删除表的时候用的是truncate table语句

请问您是什么版本呢?

用的是2.1.1

现在没问题了,我把版本升到2.1.6,正常了

有几个问题需要了解一下

  1. 几个FE
  2. truncate 之后是直接stream load?

一个FE,truncate 之后就直接stream load了。

直接 stream load 有并行吗,还是说只是单独的stream load?

还有几个问题需要确认一下

  1. 这个表历史上做过schema change 操作吗,例如 加列减列操作
  2. 出现了这个错误之后,重新truncate 再stream load能恢复吗
  3. 升级之后直接就恢复了,还是说重新truncate 再导入数据就恢复了呢

truncate 是哪个表

还是有问题,不是升级回复的,是重启fe之后才正常,但是涉及到分页就不正常了

昨天的问题又来了,重启fe之后,分页查询1,10.正常的,但是切换了分页下标 10,20之后,查询报错、然后再切换回来1,10查询,也跟着报错了

  1. 这个表历史上做过schema change 操作吗,例如 加列减列操作 (没有做过,建表之后列没动过,之前有删除表之后,重新建表)
  2. 出现了这个错误之后,重新truncate 再stream load能恢复吗(重启fe之后正常,但是切换分页下标又接着报错)
  3. 升级之后直接就恢复了,还是说重新truncate 再导入数据就恢复了呢(不是升级的问题,升级之后,还是一样有问题)

不知道是不是有太多空闲的分区引起的。我之前建的表从2021-07-06 到2022-06-23的分区。后面清了表之后,重新同步数据,只有2022-03-27到2022-06-23数据,之前的分区都是空的了。
然后把表删除掉,重新建表,重新导入数据,目前查询正常。表里面目前几千万 的数据

另外这个表有实时导入吗?
我大概知道问题了,你先set global cbo_enable_low_cardinality_optimize=false;规避一下

2.1.10+ 修复了这个问题