Skip to content

Commit

Permalink
server/ot_rpc: improve error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
jailuthra committed Sep 28, 2021
1 parent 6f752e4 commit c170e46
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 5 deletions.
4 changes: 3 additions & 1 deletion core/orchestrator.go
Original file line number Diff line number Diff line change
Expand Up @@ -583,8 +583,10 @@ func (n *LivepeerNode) transcodeSeg(config transcodeConfig, seg *stream.HLSSegme
return terr(fmt.Errorf("ZeroSegments"))
}
if md.CalcPerceptualHash && tSegments[i].PHash == nil {
glog.Errorf("Could not find perceptual hash for manifestID=%s sesionID=%s seqNo=%d profile=%v",
glog.Errorf("Could not find perceptual hash for manifestID=%s sessionID=%s seqNo=%d profile=%v",
string(md.ManifestID), md.AuthToken.SessionId, seg.SeqNo, md.Profiles[i].Name)
// FIXME: Return the error once everyone has upgraded their nodes
// return terr(fmt.Errorf("MissingPerceptualHash"))
}
glog.V(common.DEBUG).Infof("Transcoded segment manifestID=%s sessionID=%s seqNo=%d profile=%s len=%d",
string(md.ManifestID), md.AuthToken.SessionId, seg.SeqNo, md.Profiles[i].Name, len(tSegments[i].Data))
Expand Down
20 changes: 16 additions & 4 deletions server/ot_rpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,15 @@ func runTranscode(n *core.LivepeerNode, orchAddr string, httpc *http.Client, not
if err != nil {
glog.Error("Error submitting results ", err)
} else {
ioutil.ReadAll(resp.Body)
rbody, rerr := ioutil.ReadAll(resp.Body)
resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
if rerr != nil {
glog.Errorf("Orchestrator returned HTTP %v with unreadable body error=%v", resp.StatusCode, rerr)
} else {
glog.Errorf("Orchestrator returned HTTP %v error=%v", resp.StatusCode, string(rbody))
}
}
}
uploadDur := time.Since(uploadStart)
glog.V(common.VERBOSE).Infof("Transcoding done results sent for taskId=%d url=%s dur=%v err=%v", notify.TaskId, notify.Url, uploadDur, err)
Expand Down Expand Up @@ -327,9 +334,14 @@ func (h *lphttp) TranscodeResults(w http.ResponseWriter, r *http.Request) {
segments = append(segments, &core.TranscodedSegmentData{Data: body, Pixels: encodedPixels})
} else if p.Header.Get("Content-Type") == "application/octet-stream" {
// Perceptual hash data for last segment
seg := *segments[len(segments)-1]
seg.PHash = body
segments[len(segments)-1] = &seg
if len(segments) > 0 {
segments[len(segments)-1].PHash = body
} else {
err := errors.New("Unknown perceptual hash")
glog.Error("No previous segment present to attach perceptual hash data to: ", err)
res.Err = err
break
}
}
}
res.TranscodeData = &core.TranscodeData{
Expand Down

0 comments on commit c170e46

Please sign in to comment.