MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / doLeaderRollback

Method doLeaderRollback

kayak/processes.go:102–119  ·  view source on GitHub ↗
(ctx context.Context, tm *timer.Timer, prepareLog *kt.Log)

Source from the content-addressed store, hash-verified

100}
101
102func (r *Runtime) doLeaderRollback(ctx context.Context, tm *timer.Timer, prepareLog *kt.Log) {
103 defer trace.StartRegion(ctx, "doLeaderRollback").End()
104 // rollback local
105 var rollbackLog *kt.Log
106 var logErr error
107 if rollbackLog, logErr = r.leaderLogRollback(ctx, tm, prepareLog.Index); logErr != nil {
108 // serve error, construct rollback log failed, internal error
109 // TODO(): CHANGE LEADER
110 return
111 }
112
113 defer trace.StartRegion(ctx, "followerRollback").End()
114
115 // async send rollback to all nodes
116 r.applyRPC(rollbackLog, 0)
117
118 tm.Add("follower_rollback")
119}
120
121func (r *Runtime) leaderLogPrepare(ctx context.Context, tm *timer.Timer, data []byte) (*kt.Log, error) {
122 defer trace.StartRegion(ctx, "leaderLogPrepare").End()

Callers 1

ApplyMethod · 0.95

Calls 5

leaderLogRollbackMethod · 0.95
applyRPCMethod · 0.95
StartRegionFunction · 0.92
EndMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected