Bug 1501380

Summary: [RGW-Compression] - Compressed object(s) larger than initial size
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Manohar Murthy <mmurthy>
Component: RGWAssignee: Casey Bodley <cbodley>
Status: CLOSED ERRATA QA Contact: Persona non grata <nobody+410372>
Severity: high Docs Contact: Aron Gunn <agunn>
Priority: low    
Version: 3.0CC: agunn, anharris, cbodley, ceph-eng-bugs, hnallurv, jbrier, kbader, kdreyer, mbenjamin, mmurthy, owasserm, sweil, tchandra, vimishra
Target Milestone: rc   
Target Release: 3.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: RHEL: ceph-12.2.5-13.el7cp Ubuntu: 12.2.5-4redhat1xenial Doc Type: Bug Fix
Doc Text:
.Object compression works properly Previously, when using zlib compression with Object Gateway, objects were not being compressed properly. The actual size and used size were listed as the same despite log messages saying compression was in use. This was due to the usage of smaller buffers. With this update to {product}, larger buffers are used and compression works as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-26 18:16:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1584264    
Attachments:
Description Flags
rgw-log none

Description Manohar Murthy 2017-10-12 13:31:05 UTC
Created attachment 1337777 [details]
rgw-log

Description of problem:
RGW compression is not working , zlib compression type is specified.
Actual size and used size are same but in the log compression enabled messages are shown.

Version-Release number of selected component (if applicable):
ceph version 12.2.1-10.el7cp (5ba1c3fa606d7bf16f72756b0026f04a40297673) luminous (stable)


How reproducible:
100%

Steps to Reproduce:
1. Created default zone and enabled compression with "zlib" type
2. Created objects and checked used space of bucket.
3. Actual size and used size showing same value, not showing anything like compressed.
4. But in log, compression enabled messages are shown.

Actual results:
No Compression is happened.


Expected results:
Compression should have happened and Used space of the bucket should have been less than the actual bucket space.

Additional info:

Setup details :
10.70.39.1 - root/redhat MON
10.70.39.11 - root/redhat RGW client


Commands output:
root@aircobra bin]# radosgw-admin zone placement modify --rgw-zone=default --placement-id=default-placement --compression=zlib
{
    "id": "553117a8-0822-43ce-a0a0-1ef8cf6ccdda",
    "name": "default",
    "domain_root": "default.rgw.meta:root",
    "control_pool": "default.rgw.control",
    "gc_pool": "default.rgw.log:gc",
    "lc_pool": "default.rgw.log:lc",
    "log_pool": "default.rgw.log",
    "intent_log_pool": "default.rgw.log:intent",
    "usage_log_pool": "default.rgw.log:usage",
    "reshard_pool": "default.rgw.log:reshard",
    "user_keys_pool": "default.rgw.meta:users.keys",
    "user_email_pool": "default.rgw.meta:users.email",
    "user_swift_pool": "default.rgw.meta:users.swift",
    "user_uid_pool": "default.rgw.meta:users.uid",
    "system_key": {
        "access_key": "",
        "secret_key": ""
    },
    "placement_pools": [
        {
            "key": "default-placement",
            "val": {
                "index_pool": "default.rgw.buckets.index",
                "data_pool": "default.rgw.buckets.data",
                "data_extra_pool": "default.rgw.buckets.non-ec",
                "index_type": 0,
                "compression": "zlib"
            }
        }
    ],
    "metadata_heap": "",
    "tier_config": [],
    "realm_id": ""
}



[root@aircobra ~]# radosgw-admin bucket stats --bucket=another
{
    "bucket": "another",
    "zonegroup": "e8064b98-933e-4505-89de-e9379c0b0397",
    "placement_rule": "default-placement",
    "explicit_placement": {
        "data_pool": "",
        "data_extra_pool": "",
        "index_pool": ""
    },
    "id": "553117a8-0822-43ce-a0a0-1ef8cf6ccdda.54824.2",
    "marker": "553117a8-0822-43ce-a0a0-1ef8cf6ccdda.54824.2",
    "index_type": "Normal",
    "owner": "testuser",
    "ver": "0#41",
    "master_ver": "0#0",
    "mtime": "2017-10-12 18:30:27.666754",
    "max_marker": "0#",
    "usage": {
        "rgw.main": {
            "size": 2097152000,
            "size_actual": 2097152000,
            "size_utilized": 2097792500,
            "size_kb": 2048000,
            "size_kb_actual": 2048000,
            "size_kb_utilized": 2048626,
            "num_objects": 20
        }
    },
    "bucket_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    }
}
[root@aircobra ~]#

2017-10-12 18:57:43.806650 7ff8a358bc40  0 could not get bucket info for bucket=another_bucket
[root@aircobra ~]# radosgw-admin bucket stats --bucket=anotherbucket
{
    "bucket": "anotherbucket",
    "zonegroup": "e8064b98-933e-4505-89de-e9379c0b0397",
    "placement_rule": "default-placement",
    "explicit_placement": {
        "data_pool": "",
        "data_extra_pool": "",
        "index_pool": ""
    },
    "id": "553117a8-0822-43ce-a0a0-1ef8cf6ccdda.54824.1",
    "marker": "553117a8-0822-43ce-a0a0-1ef8cf6ccdda.54824.1",
    "index_type": "Normal",
    "owner": "testuser",
    "ver": "0#41",
    "master_ver": "0#0",
    "mtime": "2017-10-12 18:27:03.858794",
    "max_marker": "0#",
    "usage": {
        "rgw.main": {
            "size": 2097152000,
            "size_actual": 2097152000,
            "size_utilized": 2097792500,
            "size_kb": 2048000,
            "size_kb_actual": 2048000,
            "size_kb_utilized": 2048626,
            "num_objects": 20
        }
    },
    "bucket_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    }
}
[root@aircobra ~]#

log message:
2017-10-12 18:31:39.574276 7f38f9ab2700 15 supplied_md5=582115a1d5a76a2310078c104ca2499f
2017-10-12 18:31:39.585219 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:39.714062 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:39.845051 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:39.975912 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:40.069652 7f391418a700  2 RGWDataChangesLog::ChangesRenewThread: start
2017-10-12 18:31:40.107108 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:40.238016 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:40.369106 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:40.500294 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:40.631460 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:40.762104 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:40.892794 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:41.023302 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304
2017-10-12 18:31:41.154234 7f38f9ab2700 10 Compression for rgw is enabled, compress part 4194304

Comment 19 John Brier 2018-08-31 16:46:17 UTC
Thanks Casey!

Comment 21 errata-xmlrpc 2018-09-26 18:16:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:2819