
# CDM迁移DWS数据报错Read timedout怎么处理？
#### 问题描述
客户使用cdm迁移DWS A集群表数据到DWS B集群，成功写入部分后报错：
```
org.postgresql.util.PSQLException: Database connection failed when ending copy…….caused by: java.net.SocketTimeoutExcepetion:Read timed out；
```
#### 故障分析
作业配置中源端目标端均通过where语句多条件过滤，并非索引列，查询会全表扫描，且数据量在上亿行，数据量庞大，导致JDBC数据库连接失败，读取数据超时，进而导致sqoop异常，作业失败。
迁移作业是CDM作为客户端先从源数据中抽取部分数据，写到目标端，再进行下一次部分数据抽取，写入目标端，往复执行，直到抽取到写入完成。因此可以添加高级属性：socketTimeout 参数，保证在每次抽取写入数据间隔，CDM一直保持正常会话。
#### 解决方案
通过增大jdbc连接超时时间的控制，重新迁移作业。
1. 通过作业配置中的源端和目标端连接名称，进入到cdm作业管理---\>连接管理，找到该连接器名称。
2. 编辑连接器，显示高级属性---\>连接属性---\>添加：属性名称socketTimeout 值：36000（单位为秒），测试连接，保存。 
   ![](https://support.huaweicloud.com/cdm_faq/zh-cn_image_0000001446050602.png "点击放大")
   
   
3. 重新启动作业，等待迁移任务执行成功。
 
