Bug #12416

keepstore does not work with s3_volume on Ceph RadosGW

Added by Joshua Randall 2 months ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Keep
Target version:
Start date:
10/08/2017
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

keepstore does not include a `Content-Length: 0` header when attempting to create empty objects using the S3 API.

This is because an io.Reader is being created and passed (via goamz) to net.http even when the data is nil.

According to the net.http.Request.ContentLength documentation:

        // For client requests, a value of 0 with a non-nil Body is
        // also treated as unknown.

This means that if a non-nil io.Reader is given, a `ContentLength` of 0 will result in omitting the `Content-Length` header from the request, which results in requests to put empty objects to S3-like services such as Ceph RadosGW to fail (with HTTP status 411).

A PR that addresses this issue will be forthcoming.

Associated revisions

Revision 10487342
Added by Tom Clegg 2 months ago

Merge branch '12416-s3-empty-object'

refs #12416

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <>

History

#2 Updated by Tom Clegg 2 months ago

  • Status changed from New to Feedback
  • Assigned To set to Tom Clegg

#3 Updated by Tom Morris about 2 months ago

  • Target version set to 2017-10-25 Sprint

#4 Updated by Tom Morris about 2 months ago

  • Target version changed from 2017-10-25 Sprint to 2017-11-08 Sprint

#5 Updated by Tom Clegg about 1 month ago

  • Status changed from Feedback to Resolved

Also available in: Atom PDF