This project is mirrored from https://gitee.com/mirrors/nomad.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
  1. 21 Oct, 2021 4 commits
  2. 20 Oct, 2021 5 commits
  3. 19 Oct, 2021 3 commits
  4. 18 Oct, 2021 2 commits
  5. 15 Oct, 2021 2 commits
  6. 14 Oct, 2021 11 commits
  7. 13 Oct, 2021 5 commits
  8. 12 Oct, 2021 6 commits
  9. 11 Oct, 2021 2 commits
    • Ben Buzbee's avatar
      Log error if there are no event handlers registered · 337c5d76
      Ben Buzbee authored
      We see this error all the time
      ```
      no handler registered for event
      event.Message=, event.Annotations=, event.Timestamp=0001-01-01T00:00:00Z, event.TaskName=, event.AllocID=, event.TaskID=,
      ```
      
      So we're handling an even with all default fields. I noted that this can
      happen if only err is set as in
      
      ```
      func (d *driverPluginClient) handleTaskEvents(reqCtx context.Context, ch chan *TaskEvent, stream proto.Driver_TaskEventsClient) {
      	defer close(ch)
      	for {
      		ev, err := stream.Recv()
      		if err != nil {
      			if err != io.EOF {
      				ch <- &TaskEvent{
      					Err: grpcutils.HandleReqCtxGrpcErr(err, reqCtx, d.doneCtx),
      				}
      			}
      ```
      
      In this case Err fails to be serialized by the logger, see this test
      
      ```
      
      	ev := &drivers.TaskEvent{
      		Err: fmt.Errorf("errz"),
      	}
      	i.logger.Warn("ben test", "event", ev)
      	i.logger.Warn("ben test2", "event err str", ev.Err.Error())
      	i.logger.Warn("ben test3", "event err", ev.Err)
      	ev.Err = nil
      	i.logger.Warn("ben test4", "nil error", ev.Err)
      
      2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.643900Z","driver":"mock_driver","event":{"TaskID":"","TaskName":"","AllocID":"","Timestamp":"0001-01-01T00:00:00Z","Message":"","Annotations":null,"Err":{}}}
      2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test2","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.644226Z","driver":"mock_driver","event err str":"errz"}
      2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test3","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.644240Z","driver":"mock_driver","event err":"errz"}
      2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test4","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.644252Z","driver":"mock_driver","nil error":null}
      ```
      
      Note in the first example err is set to an empty object and the error is
      lost.
      
      What we want is the last two examples which call out the err field
      explicitly so we can see what it is in this case
      337c5d76
    • Bryce Kalow's avatar
      721f388f