Feature #53957
openrgw: allow configuration of bi tx timeout; add instrumentation
0%
Description
Allow the bucket index transaction expiration time to be configured. Adds the configuration option rgw_pending_bucket_index_op_expiration, which is the number of seconds before it's considered expired. Prior to this PR the expiration was 120 seconds in most cases, although a non-zero value in `rgw_bucket_dir_header` could override it (functionality that's used in `radosgw-admin bucket check ...` .
Because there are suspected issues surrounding bucket index transactions, extra instrumentation is added to the three CLS functions that manage those transactions. This instrumentation is turned on by setting another new boolean configuration option rgw_bucket_index_transaction_instrumentation that controls whether this instrumentation is used. When it is on, all log entries surrounding bucket index transactions are tagged with the substring "BITX".
Because these two configuraiton options are needed RGW's CLS (objclass) code, this PR also adds the function `cls_get_config` to the CLS interface.
Note: even though these options are for RGW (and begin with "rgw_"), they need to be placed in a configuration section visible to CLS code. The "[global]" section works, for example.