
# 写ES报timeout waiting for connection from pool错误怎么解决？
#### 问题描述
写ES报timeout waiting for connection from pool，且日志中输出多个es_rejected_execution_exception。
#### 故障分析
从cerebro界面看到索引只有一个分片。但新建一个索引设成3个分片也是一样会报es_rejected_execution_exception。
![](https://support.huaweicloud.com/cdm_faq/zh-cn_image_0000001497624345.png "点击放大")
继续定位发现记录几乎都写入到了一个分片中。至此问题清楚。是因为产生了热点。
#### 解决方案
用户在迁移时有选择主键，也就是用它来替代 _id。计算出来的shard属同一个。
1. 建议用户不选主键，让es自动生成_id, 这样获得的hash值比较分散。
2. 如果用户的应用必须用自有主键替代_id，则只能建议用性能更好的ES集群。
