Teradata JDBC插入审计表报双重查询超时 ErrorCode 1475如何排查
问题现象
使用Teradata JDBC驱动向审计表执行数据插入操作时,PreparedStatement偶发触发*双重查询超时(double query timeout)*异常,对应错误码为1475。
业务侧通过Spring框架的NamedParameterJdbcTemplate构建带命名参数的INSERT语句,在PreparedStatement回调方法中通过ps.setQueryTimeout(1)设置了1秒的查询超时阈值,执行过程中偶现上述报错,相关实现代码如下:
String insertStatement = "INSERT INTO " + Constant.AUDIT_SCHEMA + "."+ Constant.AUDIT_TABLE +" VALUES(1," + ":TRANSACTION_TIMESTAMP," + " :CORRELATION_ID," + " :ORIGINATING_CHANNEL," + ":CHANNEL_REQUEST_ID," + ":ORIGINATING_USER_TYPE," + ":ORIGINATING_USER_IDENTIFIER," + ":SERVICE_ID," + ":CLIENT_ID," + ":INPUT_PARAMETERS," + ":RESPONSE_CODE," + ":TRANSACTION_ID," + ":REMOTE_IP_ADDRESS," + ":LOCAL_IP_ADDRESS," + ":ROWS_COUNT," + ":RESPONSE_RESULTS," + ":SERVICE_SLUG," + ":SERVICE_ENTITY_ID)"; SqlParameterSource namedParameters = new MapSqlParameterSource().addValues(hashMap); NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); namedParameterJdbcTemplate.execute(insertStatement, namedParameters, new PreparedStatementCallback<Boolean>() { @Override public Boolean doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.setQueryTimeout(1); return ps.execute(); } });
故障原因
- 超时配置重复叠加:Spring的
JdbcTemplate本身会读取数据源、全局JDBC配置层预设的查询超时参数,在回调方法中手动调用setQueryTimeout()的操作,会和Teradata JDBC驱动内置的语句超时校验逻辑产生冲突,触发驱动层面的双重超时检测机制,直接抛出1475错误。 - 超时阈值设置不合理:1秒的超时阈值过短,当出现数据库节点负载偏高、网络抖动、事务锁等待、大字段(代码中的
INPUT_PARAMETERS、RESPONSE_RESULTS均为易出现大体积内容的字段)刷盘延迟等场景时,语句实际执行时长很容易突破1秒阈值,超时触发概率本身就处于较高水平。 - 旧版本驱动逻辑缺陷:16.20版本之前的Teradata JDBC驱动存在超时统计逻辑bug,会将语句prepare阶段的耗时一并算入execute阶段的超时计数,导致实际执行时长未达设置阈值时就误触发双重超时报错。
修复方案
- 统一超时配置入口:不要在
PreparedStatementCallback回调中单独设置查询超时,直接在JdbcTemplate初始化时调用setQueryTimeout()方法统一配置,或是在数据源层面设置全局语句超时,避免多层重复配置触发驱动的双重校验逻辑。 - 调整超时阈值到合理区间:审计表写入一般属于非核心链路操作,不建议设置过短的超时时间,可将阈值调整为3-5秒,覆盖正常的网络波动、数据库负载峰值场景,降低偶发超时概率。
- 升级稳定版驱动:将Teradata JDBC驱动升级到16.20及以上的官方稳定版本,修复旧版本存在的超时计数bug,减少误判。
- 增加轻量重试逻辑:审计数据写入属于幂等可重试操作,针对1475这类偶发超时异常,可增加1-2次退避重试,避免单次偶发抖动导致审计数据丢失。
内容的提问来源于stack exchange,提问作者Ramy Elberry
相关产品推荐
相关产品推荐

