
# 创建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)。
  
 
