Chapter 6. Notable Bug Fixes
This section describes bugs fixed in this release of Red Hat Ceph Storage that have significant impact on users.
Sync point snapshots are now properly removed after a failover or failback
In a RADOS Block Device (RBD) mirroring configuration, sync point snapshots created by the rbd-mirror
daemon incorrectly remained on the clusters after a failover or failback. This update fixes this behavior, and sync point snapshots are now properly removed as expected. (BZ#1350003)
The ceph-disk
service no longer fails because of limited resources
After installation of a new Ceph storage cluster, failed instances of the ceph-disk
service appeared because the service was started twice: once to activate the data partition, and once to activate the journal partition. After the disk activation, one of these instances failed because of limited resources. With this update, the instance without the resources terminates with the 0
exit status and an informative message is returned. (BZ#1326740)
Bucket creation no longer fails after upgrading Red Hat Ceph Storage 1.3 to 2.0
Previously, after upgrading an Ceph Object Gateway node from Red Hat Ceph Storage 1.3 to 2.0, an attempt to create a bucket failed. This bug has been fixed, and bucket creation no longer fails in this case. (BZ#1352888)
Ceph Object Gateway now deletes large buckets in parallel
Previously, the Ceph Object Gateway was unable to delete multiple large buckets at the same time. As a consequence, the process of deleting large buckets containing millions of objects was slow. A patch has been applied, and the Ceph Object Gateway now deletes large buckets in parallel, which makes the whole process significantly faster. (BZ#1318409)
RBD mirroring is now properly disabled even if peer clusters are not removed first
Disabling RADOS Block Device (RBD) mirroring in pool mode consists of two steps:
-
Removing peer clusters by using the
rbd mirror pool remove
command. -
Disabling pool mirroring by using the
rbd mirror pool disable
command.
Previously, if pool mirroring was disabled before removing the peer clusters, all the existing images on the mirrored pool stopped being replicated but the pool remained mirrored. As a consequence, newly created images on the pool were still replicated.
In addition, an error message similar to the following one was returned:
2016-08-02 10:30:31.823726 7f96fd7e8d80 -1 librbd: Failed to set mirror mode: (16) Device or resource busy
This update fixes this inconsistent state if disabling RBD mirroring is attempted before peer clusters are removed. (BZ#1362647)
Ceph Object Gateway now supports new token formats with the Keystone integration
Users can now use the following token formats for Keystone authentication:
- PKIZ - compressed Public Key Infrastructure (PKI)
- Fernet (BZ#1300855)
The radosgw-admin
command no longer returns unnecessary error messages
The log level of certain common error messages that are returned by the radosgw-admin
command was set to 0
. Consequently, these messages appeared even though radosgw-admin
command succeeded. The log level of these messages has been increased, and the messages no longer appear if radosgw-admin
succeeds. (BZ#1364353)
Ceph log messages are now LOG_INFO priority
Previously, Ceph log messages had the LOG_DEBUG
priority. However, with the default syslog
configuration, LOG_DEBUG
messages do not appear in the logs. With this update, Ceph log messages have LOG_INFO
priority, ensuring that they appear in the logs. (BZ#1378675)
A restart of the radosgw process is no longer required after switching the zone from master to non-master
When a non-master zone was promoted to the master zone, all I/0 requests became unresponsive until the radosgw
process was restarted on both zones. Consequently, the I/0 requests timed out. The underlying source code has been modified, and restarting radosgw
is no longer required in the described situation. (BZ#1359712)
Image synchronization no longer starts from the beginning after restarting rbd-mirror
When the rbd-mirror
daemon was restarted during image synchronization, the synchronization started from the beginning. With this update, the sync point object number is updated periodically during the synchronization. As a result, the image synchronization no longer starts from the beginning after restarting rbd-mirror
. (BZ#1348940)
Certain maintenance image operations are no longer incorrectly allowed on non-primary images
With RADOS Block Device (RBD) mirroring enabled, non-primary images are expected to be read-only. Under certain conditions, the rbd
command did not properly restrict rbd
maintenance operations against non-primary images. The affected operations included:
- updating snapshots
- resizing images
- renaming and creating clones using the non-primary image as the parent
With this update, these operations are disallowed on non-primary images as expected. (BZ#1348928, BZ#1352878, BZ#1349332)
Calamari no longer hangs when interactive commands are issued
Previously, the Calamari REST API incorrectly attached a standard input to interactive commands, such as rbd import
. When these commands were executed from Calamari, the Calamari user interface became unresponsive because it waited for an action from the user. The underlying source code has been modified, and Calamari no longer hangs when interactive commands are issued. (BZ#1354459)
FUSE clients can now be mounted permanently on Red Hat Enterprise Linux 7.3
Previously, the util-linux
package shipped with Red Hat Enterprise Linux 7.2 did not support mounting the CephFS File System in User Space (FUSE) clients in the /etc/fstab
file. Red Hat Enterprise Linux 7.3 now includes a new version of util-linux
that supports mounting CephFS FUSE clients permanently in /etc/fstab
. (BZ#1360849)
Enabling write-back cache no longer causes potential data corruption
Previously, cache read requests were not properly handled if a subsection of an in-progress read operation was interrupted with an unrelated I/O operation. As a consequence, when librbd
and ceph-fuse
write-back cache was enabled, read requests serviced through the cache were in some cases corrupted. With this update, the incoming read result from the OSD nodes is properly reconstructed if a split is encountered. As a result, the cache return the expected data in the described situation. (BZ#1392136)
S3 versioning can now be set on buckets when accessing a non-master zone
Previously, it was not possible to set Amazon Simple Storage Service (S3) object versioning on buckets when accessing any zone other than the metadata master zone. The underlying source code has been modified, and S3 versioning can now be set on buckets when accessing a non-master zone as expected. (BZ#1350522)
Renaming snapshots no longer returns errors on overloaded clusters
When a Ceph Storage Cluster was overloaded and an image was in-use for I/O operations, performing rename requests sometimes took unexpectedly long. Consequently, the RADOS Block Device (RBD) CLI kept sending the rename request every 5 seconds because it received a message that the request had timed out. This caused error messages were returned in the logs of the process performing the I/O operations on the image. This update fixes this bug, and the error log messages are no longer returned in the described scenario. (BZ#1340772)
Error messages are no longer returned after disabling journaling
When the journaling
feature was disabled on an image that was previously mirrored by the rbd-mirror
daemon, an error message similar to the following was returned on the primary cluster:
2016-06-15 22:10:40.462481 7fed3d10b700 -1 rbd::mirror::ImageReplayer: 0x7fecd8003b80 [1/29d86f79-7bba-4316-9ab9-c8a3f600e0f2] operator(): start failed: (2) No such file or directory
These harmless error messages indicated that the image journal was deleted because journaling
was disabled. The underlying source code has been modified, and the error messages are no longer returned in the described situation. (BZ#1346946)
"rbd-mirror" no longer synchronizes images from the beginning after their demotion and promotion
With RADOS Block Device (RBD) mirroring enabled, an image can be demoted to non-primary on one cluster and promoted to primary on a peer cluster. Previously, when this happened, the rbd-mirror
daemon started to synchronize the newly demoted image with the newly promoted image even though the image was already successfully synchronized. This behavior has been fixed, and rbd-mirror
no longer synchronizes images from the beginning after their demotion and promotion. (BZ#1349955)