Now that tail objects are associated with objectID, they are not deleted
as part of this DeleteObj operation. Such tail objects (with no head object
in *.object.table are cleaned up later by GC thread.
To avoid races between writes/reads & GC delete, mtime is maintained for each
tail object. This mtime is updated when tail object is written and also when
its corresponding head object is deleted (like here in this case).
Also done some cleanup.
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
OSD logs and cluster logs are monitored by some scrub tests:
some specific strings are required to either appear or not appear in
the logs. The Scrubber backend PR has unintentionally modified some
of these logs, and here we restore the exact logs text.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Following error occurs while running "sudo install-deps.sh" -
ERROR: Double requirement given: PyYAML==6.0 (from -r requirements-lint.txt (line 5)) (already in pyyaml (from -r requirements-alerts.txt (line 1)), name='PyYAML')
PyYAML is mentioned twice as a requirement. It is mentioned once in both
the following files -
monitoring/ceph-mixin/requirements-lint.txt
monitoring/ceph-mixin/requirements-alerts.txt
These requirements were added in commits
44d3e4c264 and
4750ac0d77.
Fixes: https://tracker.ceph.com/issues/54185
Signed-off-by: Rishabh Dave <ridave@redhat.com>
We will share the lba tree implementation, so classify the related logs
and rename to seastore_lba_details for now.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Since we filter monitor addresses based on ms_mode, check that at
least one address was found.
Otherwise, we mismatch arguments when calling sysfs/add_single_major
which emits a misleading error message to dmesg:
libceph: resolve 'name=user1' (ret=-3): failed
libceph: parse_ips bad ip 'name=user1,key=client.user1'
Fixes: https://tracker.ceph.com/issues/54128
Signed-off-by: Burt Holzman <burt@fnal.gov>
When transitioning an object to cloud, there was an early return,
skipping the removal of the cloud target. Fix this to be in the right
place.
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
After https://github.com/ceph/ceph/pull/44059 the monitoring/prometheus
and monitoring/grafana/dashboards directories are changed to
monitoring/ceph-mixins. That broke the shared_folders in the cephadm
bootstrap script.
Changed all the instances of monitoring/prometheus and
monitoring/grafana/dashboards to monitoring/ceph-mixins
Also, renaming all the instances of prometheus_alerts.yaml to
prometheus_alerts.yml.
Fixes: https://tracker.ceph.com/issues/54176
Signed-off-by: Nizamudeen A <nia@redhat.com>
Create a gc thread to cleanup the stale tail objects data
XXX: handle read + delete usecase, simple approach could be
to use locks or sqlite transactions in GC
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Create unique ID for each object upload which will be
atomically updated in the head object at the end. This will
prevent data corruption during concurrent writes.
Incase of Multipart Uploads, upload_id is used as ObjectID.
XXX: The stale or obsolete tail data needs to be deleted
Also addressed invalid usage of CephContext in dbstore tests.
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
CopyObject api support condition headers, eg x-amz-copy-source-if-match, while radosgw miss out the 'source' keyword
Fixes: https://tracker.ceph.com/issues/53945
Signed-off-by: Wang Hao <wanghao72@baidu.com>
The output of mkfs wasn't also being included in the OSD's log before this which
can make it more difficult to debug issues with mkfs.
ceph-run restarting every 5 seconds can make it difficult to read the osd's stdout.
Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
For basic, rbd and rbd-nomount subsuites, replace legacy and crc
facets with "legacy or legacy+rxbounce" and "crc or crc+rxbounce"
facets (chosen at random).
For fsx, singleton and thrash subsuites, add legacy+rxbounce and
crc+rxbounce facets and drop prefer-crc facet. The expected behaviour
of the latter depends on cluster configuration and should be tested
separately.
The total number of jobs remains the same.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>