2024-03-28 13:52:50.385 ERROR 11556 --- [_RMROLE_1_16_16] i.seata.rm.datasource.DataSourceManager : [stacktrace]branchRollback failed. branchType:[AT], xid:[192.168.1.5:8091:6629803150973841558], branchId:[6629803150973841560], resourceId:[jdbc:sqlserver://sqlserver:1433;databaseName=DL_CP_WMS_DEVICE], applicationData:[null]. reason:[Branch session rollback failed and try again later xid = 192.168.1.5:8091:6629803150973841558 branchId = 6629803150973841560 表 'rf_collection' 没有标识属性。无法执行 SET 操作。]
io.seata.core.exception.BranchTransactionException: Branch session rollback failed and try again later xid = 192.168.1.5:8091:6629803150973841558 branchId = 6629803150973841560 表 'rf_collection' 没有标识属性。无法执行 SET 操作。
at io.seata.rm.datasource.undo.AbstractUndoLogManager.undo(AbstractUndoLogManager.java:370)
at io.seata.rm.datasource.DataSourceManager.branchRollback(DataSourceManager.java:122)
at io.seata.rm.AbstractRMHandler.doBranchRollback(AbstractRMHandler.java:125)
at io.seata.rm.AbstractRMHandler$2.execute(AbstractRMHandler.java:67)
at io.seata.rm.AbstractRMHandler$2.execute(AbstractRMHandler.java:63)
at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:131)
at io.seata.rm.AbstractRMHandler.handle(AbstractRMHandler.java:63)
at io.seata.rm.DefaultRMHandler.handle(DefaultRMHandler.java:68)
at io.seata.core.protocol.transaction.BranchRollbackRequest.handle(BranchRollbackRequest.java:35)
at io.seata.rm.AbstractRMHandler.onRequest(AbstractRMHandler.java:150)
at io.seata.core.rpc.processor.client.RmBranchRollbackProcessor.handleBranchRollback(RmBranchRollbackProcessor.java:63)
at io.seata.core.rpc.processor.client.RmBranchRollbackProcessor.process(RmBranchRollbackProcessor.java:58)
at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:280)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 表 'rf_collection' 没有标识属性。无法执行 SET 操作。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1624)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:594)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:524)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2979)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:248)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:223)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:473)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeUpdate(FilterChainImpl.java:3254)
at com.alibaba.druid.filter.FilterAdapter.preparedStatement_executeUpdate(FilterAdapter.java:1075)
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeUpdate(FilterEventAdapter.java:486)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeUpdate(FilterChainImpl.java:3252)
at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeUpdate(PreparedStatementProxyImpl.java:192)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:241)
at io.seata.rm.datasource.undo.AbstractUndoExecutor.executeOn(AbstractUndoExecutor.java:137)
at io.seata.rm.datasource.undo.AbstractUndoLogManager.undo(AbstractUndoLogManager.java:317)
... 16 common frames omitted
2024-03-28 13:52:50.385 INFO 11556 --- [_RMROLE_1_16_16] io.seata.rm.AbstractRMHandler : Branch Rollbacked result: PhaseTwo_RollbackFailed_Retryable
2024-03-28 13:52:51.372 INFO 11556 --- [h_RMROLE_1_1_16] i.s.c.r.p.c.RmBranchRollbackProcessor : rm handle branch rollback process:BranchRollbackRequest{xid='192.168.1.5:8091:6629803150973841558', branchId=6629803150973841560, branchType=AT, resourceId='jdbc:sqlserver://sqlserver:1433;databaseName=DL_CP_WMS_DEVICE', applicationData='null'}
6条答案
按热度按时间wecizke31#
当前undolog内容和表结构给个示例
The current undolog content and table structure give an example
7uzetpgm2#
当前undolog内容和表结构给个示例 当前undolog内容和表结构给个例子
-- rf_collection 的表结构
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[rf_collection]') AND type IN ('U'))
DROP TABLE [dbo].[rf_collection]
GO
CREATE TABLE [dbo].[rf_collection] (
[id] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL,
[fixture_code] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[fixture_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[line_code] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[line_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[class_code] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL,
[class_name] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[warehouse_id] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL,
[warehouse_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[stock_location_id] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL,
[stock_location_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[tray_code] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL,
[goods_id] varchar(32) COLLATE Chinese_PRC_CI_AS NOT NULL,
[goods_name] nvarchar(128) COLLATE Chinese_PRC_CI_AS NULL,
[goods_spec] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
[goods_bar_code] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[goods_unit_id] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[goods_unit_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[goods_order_code] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[goods_sap_code] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[other_code] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[print_date] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[batch_code] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[goods_status_id] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[goods_status_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[num] decimal(18,3) NULL,
[batch_rule_id] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[batch_rule_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[inout_type_id] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[inout_type_name] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
[task_id] int NULL,
[is_tray] char(1) COLLATE Chinese_PRC_CI_AS DEFAULT '0' NULL,
[print_sign] char(1) COLLATE Chinese_PRC_CI_AS NULL,
[left_or_right] varchar(1) COLLATE Chinese_PRC_CI_AS NULL,
[is_in] char(1) COLLATE Chinese_PRC_CI_AS NULL,
[err_type] char(1) COLLATE Chinese_PRC_CI_AS NULL,
[tray_time] datetime DEFAULT getdate() NULL,
[src_table_code] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[src_line] int NULL,
[order_code] varchar(12) COLLATE Chinese_PRC_CI_AS NULL,
[order_line] varchar(4) COLLATE Chinese_PRC_CI_AS NULL,
[return_id] varchar(10) COLLATE Chinese_PRC_CI_AS NULL,
[line_no] varchar(8) COLLATE Chinese_PRC_CI_AS NULL,
[remark] nvarchar(512) COLLATE Chinese_PRC_CI_AS NULL,
[create_by] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[create_time] datetime NULL,
[update_by] varchar(32) COLLATE Chinese_PRC_CI_AS NULL,
[update_time] datetime NULL,
[tenant_id] varchar(32) COLLATE Chinese_PRC_CI_AS NULL
)
GO
ALTER TABLE [dbo].[rf_collection] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'主键ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'输送机编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'fixture_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'输送机名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'fixture_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'生产线编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'line_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'生产线名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'line_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'班次编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'class_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'班次名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'class_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'库房ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'warehouse_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'库房名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'warehouse_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'库存地点ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'stock_location_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'库存地点名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'stock_location_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'托盘编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'tray_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品规格型号',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_spec'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_bar_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品单位ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_unit_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品单位名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_unit_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品条码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_order_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'SAP产品编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_sap_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'其他外部产品编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'other_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品日期',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'print_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品批次',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'batch_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品状态ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_status_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产品状态名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'goods_status_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'组托数量',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'num'
GO
EXEC sp_addextendedproperty
'MS_Description', N'批次规则ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'batch_rule_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'批次规则名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'batch_rule_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据类型ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'inout_type_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据类型名称',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'inout_type_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'流水号',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'task_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'托盘标志(0不是托盘,1是托盘)',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'is_tray'
GO
EXEC sp_addextendedproperty
'MS_Description', N'打印标志(0等待贴标机打印,1等待人工打印,2打印完成,3贴标完成,4无需打印)',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'print_sign'
GO
EXEC sp_addextendedproperty
'MS_Description', N'左右去向(0等待分配,1左,2右)',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'left_or_right'
GO
EXEC sp_addextendedproperty
'MS_Description', N'直接入库标志',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'is_in'
GO
EXEC sp_addextendedproperty
'MS_Description', N'采集错误类型',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'err_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'组托时间',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'tray_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'来源单据编码',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'src_table_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'来源单据行号',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'src_line'
GO
EXEC sp_addextendedproperty
'MS_Description', N'生产订单编号',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'order_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'生产订单明细号',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'order_line'
GO
EXEC sp_addextendedproperty
'MS_Description', N'SAP返回报工确认编号',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'return_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'SAP返回报工确认计数器',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'line_no'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备注',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'remark'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新人',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新时间',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'租户ID',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection',
'COLUMN', N'tenant_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'组托信息表',
'SCHEMA', N'dbo',
'TABLE', N'rf_collection'
GO
-- Primary Key structure for table rf_collection
ALTER TABLE [dbo].[rf_collection] ADD CONSTRAINT [PK_rf_collection] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO
sqserrrh3#
当前undolog内容和表结构给个示例 The current undolog content and table structure give an example
父服务上加@GlobalTransactional,子服务中是否需要@transactional?
在子服务上加上@transactional也报这个错
服务端用的2.1.0,客户端还是用2.0.0,有影响么?
hgb9j2n64#
当前undolog内容和表结构给个示例 The current undolog content and table structure give an example
能否加下微信
rks48beu5#
当前版本AT模式的SqlServer在执行Delete场景回滚的时候会默认执行
set identity_insert table_name ON
以开启主键插入,当表中没有标识列的情况下执行该语句就会抛出上面的问题,目前可以快速解决的方案是为该表建一个额外的标识列The current version of SqlServer in AT mode will execute
set identity_insert table_name on
by default when executing Delete scenario rollback to enable primary key insertion. When there is no identity column in the table, executing this statement will throw the above problem. The current quick solution is to create an additional identity column for this table.xnifntxz6#
什么时候会升级解决这个问题?