如果协调器和辅助节点间的节点间通信 (INC) 已中断且返回错误,则您可能需要在重试 DML 命令前删除该连接。
通过 INC 将从写入程序进程运行的 DML 命令作为协调器上的全局事务。重新启动协调器之后,从写入程序上同一连接启动全局事务的 DML 命令在 INC 恢复前可能会失败并显示以下错误:
示例代码 I. 12/20 10:12:36. 0000228231 Exception Thrown from dblib/db_catalog.cxx:824, Err# 5, tid 5 origtid 5I. 12/20 10:12:36. 0000228231 O/S Err#: 0, ErrID: 12291 (inc_CommandHandlerException); SQLCode: -1006274, SQLState: 'QBC74', Severity: 14I. 12/20 10:12:36. 0000228231 [22036]: Transaction cannot continue due to unrecoverable INC failure. Roll back current transaction.--dblib/db_catalog.xx 824
恢复 INC 后,写入程序上的 DML 命令可能会继续返回相同的错误。如果遇到此问题,请按如下操作。
使用以下方法之一删除该连接: 选项说明DROP CONNECTION删除返回错误的客户端连接,或从连接到写入程序的客户端退出。sp_iqconnection在协调器上查找与以下条件匹配的连接并删除该连接。 示例代码 Name : IQ_MPX_SERVER_PxxxReqtype : EXECLastIQCmdTime : 0001-01-01 00.00.00.0ConnCreateTime : Time before ConnCreateTime of IQ_MPX_SERVER_H0