mirror of
https://github.com/ceph/ceph
synced 2025-02-23 02:57:21 +00:00
Changing rgw_gc_num_urgent_data_entries to rgw_gc_max_deferred,
and rgw_gc_max_urgent_data_size to rgw_gc_max_deferred_entries_size. Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
This commit is contained in:
parent
0e76d40aa1
commit
e458ead587
@ -38,14 +38,14 @@ static int cls_rgw_gc_queue_init(cls_method_context_t hctx, bufferlist *in, buff
|
||||
}
|
||||
|
||||
cls_rgw_gc_urgent_data urgent_data;
|
||||
urgent_data.num_urgent_data_entries = op.num_urgent_data_entries;
|
||||
urgent_data.num_urgent_data_entries = op.num_deferred_entries;
|
||||
|
||||
cls_queue_init_op init_op;
|
||||
|
||||
CLS_LOG(10, "INFO: cls_rgw_gc_queue_init: queue size is %lu\n", op.size);
|
||||
|
||||
init_op.queue_size = op.size;
|
||||
init_op.max_urgent_data_size = g_ceph_context->_conf->rgw_gc_max_urgent_data_size;
|
||||
init_op.max_urgent_data_size = g_ceph_context->_conf->rgw_gc_max_deferred_entries_size;
|
||||
encode(urgent_data, init_op.bl_urgent_data);
|
||||
|
||||
return queue_init(hctx, init_op);
|
||||
|
@ -11,12 +11,12 @@
|
||||
|
||||
using namespace librados;
|
||||
|
||||
void cls_rgw_gc_queue_init(ObjectWriteOperation& op, uint64_t size, uint64_t num_urgent_data_entries)
|
||||
void cls_rgw_gc_queue_init(ObjectWriteOperation& op, uint64_t size, uint64_t num_deferred_entries)
|
||||
{
|
||||
bufferlist in;
|
||||
cls_rgw_gc_queue_init_op call;
|
||||
call.size = size;
|
||||
call.num_urgent_data_entries = num_urgent_data_entries;
|
||||
call.num_deferred_entries = num_deferred_entries;
|
||||
encode(call, in);
|
||||
op.exec(RGW_GC_CLASS, RGW_GC_QUEUE_INIT, in);
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include "cls/queue/cls_queue_ops.h"
|
||||
#include "common/ceph_time.h"
|
||||
|
||||
void cls_rgw_gc_queue_init(librados::ObjectWriteOperation& op, uint64_t size, uint64_t num_urgent_data_entries);
|
||||
void cls_rgw_gc_queue_init(librados::ObjectWriteOperation& op, uint64_t size, uint64_t num_deferred_entries);
|
||||
int cls_rgw_gc_queue_get_capacity(librados::IoCtx& io_ctx, const string& oid, uint64_t& size);
|
||||
void cls_rgw_gc_queue_enqueue(librados::ObjectWriteOperation& op, uint32_t expiration_secs, const cls_rgw_gc_obj_info& info);
|
||||
int cls_rgw_gc_queue_list_entries(librados::IoCtx& io_ctx, const string& oid, const string& marker, uint32_t max, bool expired_only,
|
||||
|
@ -5,21 +5,21 @@
|
||||
|
||||
struct cls_rgw_gc_queue_init_op {
|
||||
uint64_t size;
|
||||
uint64_t num_urgent_data_entries{0};
|
||||
uint64_t num_deferred_entries{0};
|
||||
|
||||
cls_rgw_gc_queue_init_op() {}
|
||||
|
||||
void encode(bufferlist& bl) const {
|
||||
ENCODE_START(1, 1, bl);
|
||||
encode(size, bl);
|
||||
encode(num_urgent_data_entries, bl);
|
||||
encode(num_deferred_entries, bl);
|
||||
ENCODE_FINISH(bl);
|
||||
}
|
||||
|
||||
void decode(bufferlist::const_iterator& bl) {
|
||||
DECODE_START(1, bl);
|
||||
decode(size, bl);
|
||||
decode(num_urgent_data_entries, bl);
|
||||
decode(num_deferred_entries, bl);
|
||||
DECODE_FINISH(bl);
|
||||
}
|
||||
|
||||
|
@ -1564,6 +1564,6 @@ OPTION(rgw_sts_token_introspection_url, OPT_STR) // url for introspecting web t
|
||||
OPTION(rgw_sts_client_id, OPT_STR) // Client Id
|
||||
OPTION(rgw_sts_client_secret, OPT_STR) // Client Secret
|
||||
OPTION(debug_allow_any_pool_priority, OPT_BOOL)
|
||||
OPTION(rgw_gc_max_urgent_data_size, OPT_U64) // GC urgent data size
|
||||
OPTION(rgw_gc_max_deferred_entries_size, OPT_U64) // GC deferred entries size in queue head
|
||||
OPTION(rgw_gc_max_queue_size, OPT_U64) // GC max queue size
|
||||
OPTION(rgw_gc_num_urgent_data_entries, OPT_U64) // GC number of urgent data entries
|
||||
OPTION(rgw_gc_max_deferred, OPT_U64) // GC max number of deferred entries
|
||||
|
@ -6462,9 +6462,9 @@ std::vector<Option> get_rgw_options() {
|
||||
.set_description("Max number of keys to remove from garbage collector log in a single operation")
|
||||
.add_see_also({"rgw_gc_max_objs", "rgw_gc_obj_min_wait", "rgw_gc_processor_max_time", "rgw_gc_max_concurrent_io"}),
|
||||
|
||||
Option("rgw_gc_max_urgent_data_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
|
||||
Option("rgw_gc_max_deferred_entries_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
|
||||
.set_default(3072)
|
||||
.set_description("maximum allowed size of urgent data in queue head for gc"),
|
||||
.set_description("maximum allowed size of deferred entries in queue head for gc"),
|
||||
|
||||
Option("rgw_gc_max_queue_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
|
||||
.set_default(128_M)
|
||||
@ -6474,9 +6474,9 @@ std::vector<Option> get_rgw_options() {
|
||||
"be greater than osd_max_object_size.")
|
||||
.add_see_also({"osd_max_object_size"}),
|
||||
|
||||
Option("rgw_gc_num_urgent_data_entries", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
|
||||
Option("rgw_gc_max_deferred", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
|
||||
.set_default(50)
|
||||
.set_description("Number of urgent data entries to be stored in queue for gc"),
|
||||
.set_description("Number of maximum deferred data entries to be stored in queue for gc"),
|
||||
|
||||
Option("rgw_s3_success_create_obj_status", Option::TYPE_INT, Option::LEVEL_ADVANCED)
|
||||
.set_default(0)
|
||||
|
@ -47,8 +47,8 @@ void RGWGC::initialize(CephContext *_cct, RGWRados *_store) {
|
||||
//version = 1 -> marked ready for transition
|
||||
librados::ObjectWriteOperation op;
|
||||
op.create(false);
|
||||
const uint64_t queue_size = cct->_conf->rgw_gc_max_queue_size, num_urgent_data_entries = cct->_conf->rgw_gc_num_urgent_data_entries;
|
||||
gc_log_init2(op, queue_size, num_urgent_data_entries);
|
||||
const uint64_t queue_size = cct->_conf->rgw_gc_max_queue_size, num_deferred_entries = cct->_conf->rgw_gc_max_deferred;
|
||||
gc_log_init2(op, queue_size, num_deferred_entries);
|
||||
store->gc_operate(obj_names[i], &op);
|
||||
}
|
||||
}
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
|
||||
void gc_log_init2(librados::ObjectWriteOperation& op,
|
||||
uint64_t max_size, uint64_t max_urgent)
|
||||
uint64_t max_size, uint64_t max_deferred)
|
||||
{
|
||||
obj_version objv; // objv.ver = 0
|
||||
cls_version_check(op, objv, VER_COND_EQ);
|
||||
cls_rgw_gc_queue_init(op, max_size, max_urgent);
|
||||
cls_rgw_gc_queue_init(op, max_size, max_deferred);
|
||||
objv.ver = 1;
|
||||
cls_version_set(op, objv);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
// initialize the cls_rgw_gc queue
|
||||
void gc_log_init2(librados::ObjectWriteOperation& op,
|
||||
uint64_t max_size, uint64_t max_urgent);
|
||||
uint64_t max_size, uint64_t max_deferred);
|
||||
|
||||
// enqueue a gc entry to omap with cls_rgw
|
||||
void gc_log_enqueue1(librados::ObjectWriteOperation& op,
|
||||
|
Loading…
Reference in New Issue
Block a user