github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/docs/tech-notes/txn_coord_sender/zombie.puml (about) 1 @startuml 2 skinparam BoxPadding 10 3 4 box "On gateway node" 5 participant SQL 6 participant "RootTxn\n+TxnCoordSender" as RootTxn 7 end box 8 box "On other node" 9 participant dSQLServer 10 participant "LeafTxn\n+TxnCoordSender" as LeafTxn 11 end box 12 create RootTxn 13 SQL -> RootTxn : NewTxn() 14 SQL -> RootTxn : GetMeta() 15 RootTxn --> SQL : leafmeta 16 SQL -> dSQLServer : SetupFlow 17 create LeafTxn 18 dSQLServer -> LeafTxn : NewTxn(leafmeta) 19 ... 20 SQL -> RootTxn : Send(BatchRequest) 21 RootTxn -> cluster : Send(BatchRequest) 22 cluster -[#red]-> RootTxn : unrecoverable error! 23 RootTxn -> RootTxn : txnState = txnError 24 activate RootTxn #red 25 ... 26 dSQLServer -> LeafTxn : Send(BatchRequest) 27 LeafTxn -> cluster : Send(BatchRequest) 28 cluster -> cluster : **wut? zombie txn?** 29 @enduml