最近使用dolphinscheduler(原easyscheduler)过程中,发现一个奇怪的问题:在一个shell任务中写了10个sqoop import命令,执行任务,显示执行失败,在UI查看日志发现所有的sqoop都执行成功了,而且shell中也增加了判断,失败就exit 1,都执行成功了最后会exit 0。为什么exit 0,shell脚本还是执行失败?——思路与之前一样,看日志!WEBUI中的日志并无报错,就到执行任务的host节点查看。果然报错了!
[ERROR] 2020-01-03 17:13:26.963 - [taskAppId=TASK-8-81-156]:[189] -
### Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'app_link' at row 1
### The error may exist in org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java (best guess)
### The error may involve org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper.updateById-Inline
### The error occurred while setting parameters
### SQL: UPDATE t_ds_task_instance SET flag=?, task_json=?, pid=?, app_link=?, task_type=?, task_instance_priority=?, log_path=?, host=?, start_time=?, state=?, process_instance_id=?, process_definition_id=?, alert_flag=?, execute_path=?, worker_group_id=?, max_retry_times=?, retry_times=?, submit_time=?, name=?, retry_interval=? WHERE id=?
### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'app_link' at row 1
; Data truncation: Data too long for column 'app_link' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'app_link' at row 1
org.springframework.dao.DataIntegrityViolationException:
### Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'app_link' at row 1
### The error may exist in org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java (best guess)
### The error may involve org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper.updateById-Inline
### The error occurred while setting parameters
### SQL: UPDATE t_ds_task_instance SET flag=?, task_json=?, pid=?, app_link=?, task_type=?, task_instance_priority=?, log_path=?, host=?, start_time=?, state=?, process_instance_id=?, process_definition_id=?, alert_flag=?, execute_path=?, worker_group_id=?, max_retry_times=?, retry_times=?, submit_time=?, name=?, retry_interval=? WHERE id=?
### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'app_link' at row 1
; Data truncation: Data too long for column 'app_link' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'app_link' at row 1