对跨源DWS表执行insert overwrite操作,报错:org.postgresql.util.PSQLException: ERROR: tuple concurrently updated
问题现象
客户对DWS执行并发insert overwrite操作,报错:org.postgresql.util.PSQLException: ERROR: tuple concurrently updated。
原因分析
客户作业存在并发操作,同时对一张表执行两个insert overwrite操作。
一个cn在执行:
TRUNCATE TABLE BI_MONITOR.SAA_OUTBOUND_ORDER_CUST_SUM
另外一个cn在执行:
call bi_monitor.pkg_saa_out_bound_monitor_p_saa_outbound_order_cust_sum
这个函数里面有delete 和 insert SAA_OUTBOUND_ORDER_CUST_SUM的操作。
处理步骤
修改作业逻辑,避免对同一张表并发执行insert overwrite操作。