Project

General

Profile

Bug #42444

rgw: failed to set correct storage class for append upload

Added by joke lee over 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
nautilus,mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Related issues

Copied to rgw - Backport #44144: mimic: rgw: failed to set correct storage class for append upload Rejected
Copied to rgw - Backport #44145: nautilus: rgw: failed to set correct storage class for append upload Resolved

History

#1 Updated by joke lee over 4 years ago

https://github.com/ceph/ceph/pull/31088 fix this

when append upload first 5M object and then append 3M, the 3M data should be in the same pool as the first 5M, just like the multipart upload, the storage can be get from head object state

Signed-off-by: yuliyang

default.rgw.meta                 3     5.2 KiB          28     5.2 KiB         0        87 GiB
default.rgw.log 4 87 B 210 87 B 0 87 GiB
default.rgw.buckets.index 6 227 B 4 227 B 0 87 GiB
default.rgw.buckets.data 7 3 MiB 2 3 MiB 0 87 GiB
default.rgw.buckets.non-ec 10 0 B 0 0 B 0 87 GiB
default.rgw.buckets.data-ia 12 5 MiB 2 5 MiB 0 87 GiB

pythpn script

import boto.s3.connection
boto.set_stream_logger('boto')
host = '127.0.0.1'
access_key = 'yly2'
secret_key = 'yly2'
conn = boto.connect_s3(
access_key,
secret_key,
host = host,
is_secure = False,
port=7480,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)

bucketname = 'yly2b1'
bucket = conn.get_bucket(bucketname)
obj = "obj6"
headers = {"x-amz-storage-class":"STANDARD_IA"}
data = open('/root/5M', 'rb').read()
  1. req = bucket.connection.make_request("PUT", bucket.name , obj, None, "abc", query_args='append&position=0' )
    req = bucket.connection.make_request("PUT", bucket.name , obj, headers, data, query_args='append&position=0')
    print req.read()
    print req.status
    data2 = open('/root/3M', 'rb').read()
    req = bucket.connection.make_request("PUT", bucket.name , obj, None, data2, query_args='append&position=%s' % (len(data),) )
    default.rgw.buckets.index 6 227 B 4 227 B 0 87 GiB
    default.rgw.buckets.data 7 0 B 1 0 B 0 87 GiB
    default.rgw.buckets.non-ec 10 0 B 0 0 B 0 87 GiB
    default.rgw.buckets.data-ia 12 8 MiB 3 8 MiB 0 87 GiB

#2 Updated by Casey Bodley over 4 years ago

  • Status changed from New to 7
  • Backport set to nautilus
  • Pull request ID set to 31088

#3 Updated by Patrick Donnelly over 4 years ago

  • Status changed from 7 to Fix Under Review

#4 Updated by J. Eric Ivancich about 4 years ago

  • Status changed from Fix Under Review to Pending Backport
  • Backport changed from nautilus to octopus,nautilus,mimic

#5 Updated by Nathan Cutler about 4 years ago

  • Backport changed from octopus,nautilus,mimic to nautilus,mimic

#6 Updated by Nathan Cutler about 4 years ago

  • Copied to Backport #44144: mimic: rgw: failed to set correct storage class for append upload added

#7 Updated by Nathan Cutler about 4 years ago

  • Copied to Backport #44145: nautilus: rgw: failed to set correct storage class for append upload added

#8 Updated by Nathan Cutler almost 4 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Also available in: Atom PDF