Skip to content

Instantly share code, notes, and snippets.

@jda
Created November 10, 2020 07:32
Show Gist options
  • Save jda/c2794dc7b9979c9c3615743620a60d5d to your computer and use it in GitHub Desktop.
Save jda/c2794dc7b9979c9c3615743620a60d5d to your computer and use it in GitHub Desktop.
Bisect upload errors on s3-upload-proxy
# BROKE
[jda@rin s3-upload-proxy]$ git checkout 9d5a4a9345a644034cc59425eee61dd514d9a4b4
Previous HEAD position was 71c2d58 build(deps): bump github.com/aws/aws-sdk-go-v2 from 0.24.0 to 0.25.0
HEAD is now at 9d5a4a9 Update code to be compatible with newer version of aws-sdk-go-v2
[jda@rin s3-upload-proxy]$ go build
[jda@rin s3-upload-proxy]$ HTTP_PORT=8080 ./s3-upload-proxy
INFO[0000] listening on [::]:8080
ERRO[0000] failed to upload file bucket=dicccccccccccccccck contentType=video/iso.segment error="operation error S3: PutObject, failed to compute payload hash: failed to seek body to start, request stream is not seekable" objectKey=init-stream1-0.m4s
^C
# WACK
[jda@rin s3-upload-proxy]$ git checkout 71c2d58ed45c720146ef53aadc2dd5d97e1be09e
HEAD is now at 71c2d58 build(deps): bump github.com/aws/aws-sdk-go-v2 from 0.24.0 to 0.25.0
[jda@rin s3-upload-proxy]$ go build
go: finding module for package github.com/aws/aws-sdk-go-v2/service/s3
go: finding module for package github.com/aws/aws-sdk-go-v2/service/mediastoredata
go: finding module for package github.com/aws/aws-sdk-go-v2/service/mediastore
go: finding module for package github.com/aws/aws-sdk-go-v2/service/s3/s3manager
go: finding module for package github.com/aws/aws-sdk-go-v2/aws/external
go: found github.com/aws/aws-sdk-go-v2/service/mediastore in github.com/aws/aws-sdk-go-v2/service/mediastore v0.29.0
go: found github.com/aws/aws-sdk-go-v2/service/mediastoredata in github.com/aws/aws-sdk-go-v2/service/mediastoredata v0.29.0
go: found github.com/aws/aws-sdk-go-v2/service/s3 in github.com/aws/aws-sdk-go-v2/service/s3 v0.29.0
go: finding module for package github.com/aws/aws-sdk-go-v2/aws/external
go: finding module for package github.com/aws/aws-sdk-go-v2/service/s3/s3manager
internal/uploader/mediastore/container.go:11:2: module github.com/aws/aws-sdk-go-v2@latest found (v0.29.0), but does not contain package github.com/aws/aws-sdk-go-v2/aws/external
internal/uploader/s3/s3.go:11:2: module github.com/aws/aws-sdk-go-v2/service/s3@latest found (v0.29.0), but does not contain package github.com/aws/aws-sdk-go-v2/service/s3/s3manager
[jda@rin s3-upload-proxy]$ ls
Dockerfile LICENSE README.md ci go.mod go.sum internal low-latency-preview main.go s3-upload-proxy
[jda@rin s3-upload-proxy]$ HTTP_PORT=8080 ./s3-upload-proxy
INFO[0000] listening on [::]:8080
ERRO[0000] failed to upload file bucket=dicccccccccccccccck contentType=video/iso.segment error="operation error S3: PutObject, failed to compute payload hash: failed to seek body to start, request stream is not seekable" objectKey=init-stream1-0.m4s
ERRO[0001] failed to upload file bucket=dicccccccccccccccck contentType=video/iso.segment error="operation error S3: PutObject, failed to compute payload hash: failed to seek body to start, request stream is not seekable" objectKey=chunk-stream-0-00001.m4s
ERRO[0001] failed to upload file bucket=dicccccccccccccccck contentType=application/dash+xml error="operation error S3: PutObject, failed to compute payload hash: failed to seek body to start, request stream is not seekable" objectKey=manifest.mpd
ERRO[0002] failed to upload file bucket=dicccccccccccccccck contentType=video/iso.segment error="operation error S3: PutObject, failed to compute payload hash: failed to seek body to start, request stream is not seekable" objectKey=chunk-stream-0-00002.m4s
ERRO[0002] failed to upload file bucket=dicccccccccccccccck contentType=application/dash+xml error="operation error S3: PutObject, failed to compute payload hash: failed to seek body to start, request stream is not seekable" objectKey=manifest.mpd
^C
[jda@rin s3-upload-proxy]$ HTTP_PORT=8080 ./s3-upload-proxy c^C
[jda@rin s3-upload-proxy]$ git checkout 2b515ccb1b3749061f03e63be17ab524048f6cb9
error: Your local changes to the following files would be overwritten by checkout:
go.mod
go.sum
Please commit your changes or stash them before you switch branches.
Aborting
[jda@rin s3-upload-proxy]$
# WORKS
[jda@rin s3-upload-proxy]$ git checkout 2b515ccb1b3749061f03e63be17ab524048f6cb9
Previous HEAD position was 71c2d58 build(deps): bump github.com/aws/aws-sdk-go-v2 from 0.24.0 to 0.25.0
HEAD is now at 2b515cc build(deps): bump github.com/sirupsen/logrus from 1.6.0 to 1.7.0 (#80)
[jda@rin s3-upload-proxy]$ go build
[jda@rin s3-upload-proxy]$ HTTP_PORT=8080 ./s3-upload-proxy
INFO[0000] listening on [::]:8080
DEBU[0000] finished upload in 233.387452ms bucket=dicccccccccccccccck contentType=video/iso.segment objectKey=init-stream1-0.m4s
DEBU[0001] finished upload in 80.05334ms bucket=dicccccccccccccccck contentType=application/dash+xml objectKey=manifest.mpd
DEBU[0001] finished upload in 1.067942416s bucket=dicccccccccccccccck contentType=video/iso.segment objectKey=chunk-stream-0-00001.m4s
^C
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment