github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/docs/RFCS/20191014_savepoints/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