Add a series of clean-ups to the instrumentation code. Keep this as a
separate commit so it will be easier to reconcile other code streams.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
This supplements an earlier commit to add additional instrumentation
on bucket index transactions on the CLS side.
The instrumentation is triggered by setting the configuration option
rgw_bucket_index_transaction_instrumentation in the [global] section.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
In order to better understand corner cases with bucket index
operations, extra instrumentation is now added and controlled by a
boolean configuration variable
("rgw_bucket_index_transaction_instrumentation").
When set to true, there is extra logging during all CLS operations
involving bucket index transactions. Additionally, all these log
entries are tagged with "BITX" to make them easier to find in the
logs. This is preferable to setting all OSD logging at a high level
due to the log size issues.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Bucket index operations are transactional with data object
manipulation. The operation is prepared by adding a pending operation
record. And when the data object side is complete, the bucket index
operation is committed.
If it fails to be committed, later bucket listings will compare the
pending ops with the current data object state and see whether it
completed or not and then either commit or expire the op. The time
span for expiration is currently hard-coded as 120 seconds (unless
overridden in the bucket header, which can happen during "bucket
check").
This commit allows that expiration time to be configured.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Currently there is no easy way to gain access to global configuration
from CLS (objclass) code. This adds a new call to the CLS interface
that returns a "const ConfigProxy&" from which configuration can be
accessed.
NOTE: Working code to do provide this functionality in crimson is not
provided.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Old schedules were not picked up from database when mgr was restarted.
Restart old schedules on mgr restart.
Fixes: https://tracker.ceph.com/issues/54052
Signed-off-by: Milind Changire <mchangir@redhat.com>
For the sake of avoiding locking on the `__cxa_throw` paths, Seastar
hijacks `dl_iterate_phdr` of the dynamic linker. Unfortunately, this
has a nasty side effect: it makes impossible to catch an exception in
in a plugin (a DSO loaded via the `dlopen()` machinery).
For mote details please consult:
* https://gist.github.com/rzarzynski/3abe9ed6b50cfa1893d34988e1628bfc,
* `seastar/src/core/exception_hacks.cc`.
This patch deals with the problem by simply disabling the problematic
workaround which could be iatrogenic too. If that would be the case,
we can consider:
* preloading all our Ceph Classes before reaching `smp::configure()`,
* statically linking them.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
crimson: keep string alive during string_view lifetime
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Various users, the most notable example being the QEMU driver, assume
that extents are reported in image offset order.
Fixes: https://tracker.ceph.com/issues/53885
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
When osd_fast_shutdown and osd_fast_shutdown_notify_mon set as true, OSD marked as Down
it should be marked as Dead,
Fixed: https://tracker.ceph.com/issues/53327
Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
nd
nd
mgr/dashboard: Language dropdown box is partly hidden on login page
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
The daemon actions are only available in the service details section but
not on the host details. This takes care of that.
Fixes: https://tracker.ceph.com/issues/54559
Signed-off-by: Nizamudeen A <nia@redhat.com>
In order to improve nfs availability, if there are other
hosts we can place an nfs daemon on or if there is a host
with a lower rank nfs daemon when a higher rank one is on
an offline host, we should reschedule the nfs daemons
Signed-off-by: Adam King <adking@redhat.com>
mgr/cephadm: try to get FQDN for configuration files
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
Reviewed-by: Paul Cuzner <pcuzner@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>