(ctx context.Context, logType kt.LogType, data []byte)
| 28 | ) |
| 29 | |
| 30 | func (r *Runtime) newLog(ctx context.Context, logType kt.LogType, data []byte) (l *kt.Log, err error) { |
| 31 | defer trace.StartRegion(ctx, "newWAL").End() |
| 32 | |
| 33 | // allocate index |
| 34 | r.nextIndexLock.Lock() |
| 35 | i := r.nextIndex |
| 36 | r.nextIndex++ |
| 37 | r.nextIndexLock.Unlock() |
| 38 | l = &kt.Log{ |
| 39 | LogHeader: kt.LogHeader{ |
| 40 | Index: i, |
| 41 | Type: logType, |
| 42 | Producer: r.nodeID, |
| 43 | }, |
| 44 | Data: data, |
| 45 | } |
| 46 | |
| 47 | // error write will be a fatal error, cause to node to fail fast |
| 48 | if err = r.wal.Write(l); err != nil { |
| 49 | log.Fatalf("WRITE LOG FAILED: %v", err) |
| 50 | } |
| 51 | |
| 52 | return |
| 53 | } |
| 54 | |
| 55 | func (r *Runtime) writeWAL(ctx context.Context, l *kt.Log) (err error) { |
| 56 | defer trace.StartRegion(ctx, "writeWal").End() |
no test coverage detected