GreatSQL社区

搜索

[已解决] 无法在rapid引擎中执行。

604 3 2024-3-13 09:51
+ 现象:
所有表都 alter table xxx secondary_engine = rapid, 并且用secondary_load 导入数据到列存引擎。
后续做了一些查询,中间记忆模糊了,但肯定没有 alter table.

今天发现查询不能走列存引擎了,已经设定 use_secondary_engine = FORCED, 报错 ERROR 3889 (HY000): Secondary engine operation failed. use_secondary_engine is FORCED but query could not be executed in secondary engine.

尝试select count(*) 在 use_secondary_engine = FORCED的前提下也都会报错。


+ 问题:
有哪些线索能够进一步诊断问题所在呢?



另外,TPCH 1T 数据导入之后没有报错,显示skipped .... 总量只有20亿左右,正常应该是60亿。这个问题大家有遇到过么?
全部回复(3)
KAiTO 2024-3-13 09:57:57
查看下表状态“SHOW TABLE STATUS like 't1'\G”
查看建表语句“SHOW CREATE TABLE t1\G”
cse_engineer 2024-3-13 10:02:56
KAiTO 发表于 2024-3-13 09:57
查看下表状态“SHOW TABLE STATUS like 't1'\G”
查看建表语句“SHOW CREATE TABLE t1\G”
...

mysql> set use_secondary_engine = FORCED;
Query OK, 0 rows affected (0.00 sec)

mysql> select count(*) from customer;
ERROR 3889 (HY000): Secondary engine operation failed. use_secondary_engine is FORCED but query could not be executed in secondary engine.
mysql> show table status like 'customer'\G;
*************************** 1. row ***************************
           Name: customer
         Engine: InnoDB
        Version: 10
     Row_format: Dynamic
           Rows: 135248189
Avg_row_length: 194
    Data_length: 26294091776
Max_data_length: 0
   Index_length: 1887436800
      Data_free: 0
Auto_increment: NULL
    Create_time: 2024-03-11 18:03:22
    Update_time: NULL
     Check_time: NULL
      Collation: latin1_swedish_ci
       Checksum: NULL
Create_options: SECONDARY_ENGINE="rapid" SECONDARY_LOAD="1"
        Comment:
1 row in set (0.01 sec)

ERROR:
No query specified

mysql> show create table customer;
+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                           |
+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| customer | CREATE TABLE `customer` (
  `c_custkey` int NOT NULL,
  `c_name` varchar(25) NOT NULL,
  `c_address` varchar(40) NOT NULL,
  `c_nationkey` int NOT NULL,
  `c_phone` char(15) NOT NULL,
  `c_acctbal` decimal(15,2) NOT NULL,
  `c_mktsegment` char(10) NOT NULL,
  `c_comment` varchar(117) NOT NULL,
  PRIMARY KEY (`c_custkey`),
  KEY `customer_fk1` (`c_nationkey`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 SECONDARY_ENGINE=rapid |
+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>
yejr 2024-3-13 11:19:17
今天发现查询不能走列存引擎了,已经设定 use_secondary_engine = FORCED, 报错 ERROR 3889 (HY000): Secondary engine operation failed. use_secondary_engine is FORCED but query could not be executed in secondary engine.
===
可以尝试再执行一次

  1. alter table xx secondary_load;
复制代码

如果该表已经加载到secondary中,上述操作不会重新加载一遍,应该会很快完成;如果没有加载,那么会重新加载一遍,可能会比较慢。
cse_engineer

10

主题

0

博客

32

贡献

注册会员

Rank: 2

积分
53

助人为乐(铜)勤学好问(铜)

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-11-21 20:22 , Processed in 0.023052 second(s), 20 queries , Redis On.
快速回复 返回顶部 返回列表