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

Method Rollback

twopc/twopc_test.go:325–371  ·  view source on GitHub ↗
(ctx context.Context, wb twopc.WriteBatch)

Source from the content-addressed store, hash-verified

323}
324
325func (r *RaftNode) Rollback(ctx context.Context, wb twopc.WriteBatch) (err error) {
326 log.Debugf("executing 2pc: addr = %s, phase = rollback", r.addr)
327 defer log.Debugf("2pc result: addr = %s, phase = rollback, result = %v", r.addr, err)
328
329 rwb, ok := wb.(*RaftWriteBatchReq)
330
331 if !ok {
332 err = errors.New("unexpected WriteBatch type")
333 return err
334 }
335
336 cipher := etls.NewCipher([]byte(pass))
337 conn, err := etls.Dial("tcp", r.addr, cipher)
338
339 if err != nil {
340 return err
341 }
342
343 muxconn, err := mux.NewOneOffMuxConn(conn)
344 if err != nil {
345 return
346 }
347
348 client := rpc.NewClient(muxconn)
349 d, ok := ctx.Deadline()
350
351 if ok {
352 err = muxconn.SetDeadline(d)
353
354 if err != nil {
355 return err
356 }
357 }
358
359 resp := new(RaftRollbackResp)
360 err = client.Call("Raft.RPCRollback", &RaftRollbackReq{TxID: rwb.TxID}, resp)
361
362 if err != nil {
363 return err
364 }
365
366 if resp.ErrCode > 0 {
367 err = fmt.Errorf(resp.ErrString)
368 }
369
370 return err
371}
372
373func testSetup() (err error) {
374 log.SetLevel(log.DebugLevel)

Callers

nothing calls this directly

Calls 9

CallMethod · 0.95
DebugfFunction · 0.92
NewCipherFunction · 0.92
DialFunction · 0.92
NewOneOffMuxConnFunction · 0.92
NewClientFunction · 0.92
SetDeadlineMethod · 0.80
ErrorfMethod · 0.80
NewMethod · 0.65

Tested by

no test coverage detected