sql执行过程超问题分析
druid timeout设置
mybatis timeout设置
spring timeout设置
haproxy timeout设置
mycat timeout设置
mysql timeout设置
os timeout设置
每一个过程都可能是导致原因。
目前项目报这个异常,一层层排查,结果haproxy 设置一分钟超时。
场景:
//service 事务方法
execute(){
//业务操作超过一分钟
//service.method();
//db操作,异常
}
org.springframework.dao.RecoverableDataAccessException:
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 63,211 milliseconds ago. The last packet sent successfully to the server was 41 milliseconds ago.
### The error may exist in file [D:\workspace_test\img\imgService\target\classes\META-INF\sqlmap\templateMapper.xml]
### The error may involve com.artbulb.img.dao.impl.TemplateDAO.findBoxListByPhotoType-Inline
### The error occurred while setting parameters
### SQL: SELECT id, photo_url AS photoUrl FROM tb_img_picture_box tpb WHERE 1=1 and tpb.photo_type =?
### Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 63,211 milliseconds ago. The last packet sent successfully to the server was 41 milliseconds ago.
; SQL []; Communications link failure
The last packet successfully received from the server was 63,211 milliseconds ago. The last packet sent successfully to the server was 41 milliseconds ago.; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 63,211 milliseconds ago. The last packet sent successfully to the server was 41 milliseconds ago.
at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:98)