文档首页/ 表格存储服务 CloudTable/ 常见问题/ Doris组件类/ 创建Doris数据表报错“Failed to create partition [xxx] . Timeout”如何处理?
更新时间:2025-08-14 GMT+08:00

创建Doris数据表报错“Failed to create partition [xxx] . Timeout”如何处理?

问题现象

创建Doris数据表报错“Failed to create partition [xxx] . Timeout”。

处理办法

Doris建表是按照Partition粒度依次创建的。当一个Partition创建失败时,可能会报这个错误。即使不使用Partition,当建表出现问题时,也会报Failed to create partition,因为如前文所述,Doris会为没有指定Partition的表创建一个不可更改的默认的Partition。

当遇到这个错误时,通常是BE在创建数据分片时遇到了问题。可以参照以下步骤排查:

  • 在fe.log中,查找对应时间点的Failed to create partition日志。在该日志中,会出现一系列类似{10001-10010}字样的数字对。数字对的第一个数字表示Backend ID,第二个数字表示Tablet ID。如上这个数字对,表示ID为10001的Backend上,创建ID为10010的Tablet失败了。
  • 前往对应Backend的be.INFO日志,查找对应时间段内,tablet id相关的日志,可以找到错误信息。
  • 以下罗列一些常见的tablet创建失败错误,包括但不限于:
    • BE没有收到相关task,此时无法在be.INFO中找到tablet id相关日志或者BE创建成功,但汇报失败。
    • 预分配内存失败。可能是表中一行的字节长度超过了 100KB。
    • Too many open files。打开的文件句柄数超过了Linux系统限制。需修改Linux系统的句柄数限制。

    如果创建数据分片时超时,也可以通过在fe.conf中设置tablet_create_timeout_second=xxx以及max_create_table_timeout_second=xxx来延长超时时间。其中tablet_create_timeout_second默认是1秒, max_create_table_timeout_second默认是60秒,总体的超时时间为min(tablet_create_timeout_second * replication_num, max_create_table_timeout_second)。