-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat Gluster Storage
Chapter 1. RHBA-2015:1845
The bugs contained in this chapter are addressed by advisory RHBA-2015:21732. Further information about this advisory is available at https://rhn.redhat.com/errata/ RHBA-2015:1845-05.html.
ami
- BZ#1250821
- Previously, Amazon Machine Images (AMIs) for Red Hat Gluster Storage 3.1 on Red Hat Enterprise Linux 7 were having NFS and Samba repositories enabled by default and Red Hat Enterprise Linux 7 repositories disabled. This issue was fixed in rh-amazon-rhui-client-2.2.124-1.el7 package build and new AMI image was created to include that. Now, a new set of AMIs are uploaded in production, where the Red Hat Enterprise Linux 7 repositories will be enabled by default, and NFS and Samba repositories will be disabled (as expected) and must be manually enabled.
- BZ#1253141
- Previously, Amazon Machine Images (AMIs) for Red Hat Gluster Storage 3.1 on Red Hat Enterprise Linux 7 were having NFS and Samba repositories enabled by default and Red Hat Enterprise Linux 7 repositories disabled. This issue was fixed in rh-amazon-rhui-client-2.2.124-1.el7 package build and new AMI image was created to include that. Now, a new set of AMIs are uploaded in production, where the Red Hat Enterprise Linux 7 repositories will be enabled by default, and NFS and Samba repositories will be disabled (as expected) and must be manually enabled.
build
- BZ#1249989
- Previously, a file required by gluster-swift service was moved from glusterfs-api RPM to python-gluster RPM. As a consequence, the gluster-swift service was not started. With this fix, the required RPM (python-gluster) is made as a dependency and the gluster-swift service can be started.
gluster-afr
- BZ#1227759
- Previously, if a brick in a replica went down, there was a chance of drastic reduction in write speed due to extra fsyncs that happened. With the fix, this issue is resolved.
- BZ#1234399
- Previously, the split-brain resolution command used to perform conservative merge on directories with both 'bigger- file' and 'source-brick' options. With the fix, for directories, the 'bigger-file' option is disallowed while the 'source-brick' does a conservative merge, informing the user with the appropriate message in both cases.
- BZ#1240657
- Previously, AFR was logging messages about files and directories going into split-brain even in case of failures that were unrelated to split-brain. As a consequence, for each stat on a file and directory that fails, AFR would wrongly report that it is in split-brain. With this fix, AFR logs messages about split-brain only in case of a true split-brain.
- BZ#1238398
- Previously, the split-brain-choice was not being considered when a file is only in the metadata split-brain. As a consequence, incorrect file metadata (with fops like ls, stat) was getting displayed for files in split-brain through the mount even after you set replica.split-brain-choice. With this fix, the correct metadata is displayed.
- BZ#1239021
- Previously, the self-heal daemon was performing a crawl only on the brick that came up after it went down. So the pending heals were not happening immediately after the child is up, but only after the cluster.heal-timeout value. With the fix, index heal will be triggered on all local subvolumes of a replicated volume.
gluster-dht
- BZ#1245565
- Previously, unsynchronized memory access caused the client process to crash in certain scenarios while reading extended attributes. This has now been fixed by synchronizing access to the variable.
- BZ#1234610
- Previously, POSIX ACLs set on a file were copied onto the DHT linkto file created when the file was being migrated. This changed the linkto file permissions causing the file to be treated as a data file and file operations to be sent to the wrong file. With this fix, the POSIX ACLs are not set on the DHT linkto files.
- BZ#1244527
- Previously, the "gluster vol rebalance vol_name start" command might be hung if any nodes in a cluster go down simultaneously. With this fix, this issue is resolved.
- BZ#1236038
- Previously, a remove-brick start operation was reporting success even if the glusterd service was not running on the node that hosts the removed brick. Due to this, the user could still perform a remove-brick commit even though the rebalance has not been triggered and this was resulting in data loss. With this fix, remove-brick start and commit would fail if the glusterd service is not running on the node that hosts the removed brick.
- BZ#1243542
- Previously, when a distribute leg of a dist-rep Gluster volume that hosts VM images was removed using the `remove-brick start` Gluster CLI, the VMs went into a paused state. With the fix, they do not go into a paused state.
gluster-quota
- BZ#1251425
- Previously, the error "patchy-marker: lookup failed for gfid:00000000-0000-0000-0000-000000000001/.glusterfs: Operation not permitted" was seen in the brick logs. Now, the marker is optimized and this error is fixed.
- BZ#1229621
- Previously, when the disk quota exceeded, "could not read the link from the gfid handle /rhs/brick1/b1/.glusterfs/a3/f3/a3f3664f-df98-448e-b5c8-924349851c7e (No such file or directory)" error was seen in the brick logs. With this fix, these errors are not logged.
- BZ#1251457
- Previously, a lot of errors were logged in the brick logs. After marker's re-factoring, these errors are fixed.
- BZ#1065651
- Previously, quota expected users to enter the absolute path, but no proper error was displayed if the absolute path was not provided. With this fix, if the absolute path is not provided, it throws "Please enter the absolute path" error.
- BZ#1238071
- Previously, upon restarting glusterd, quota daemon was not started when more than one volume was configured and quota is enabled only on the second volume. With this fix, the quota daemon starts on node reboot.
- BZ#1027723
- Previously, when the 'gluster volume reset VOLNAME' command was executed, the features.quota-deem-statfs option was set to default value. Wtth this fix, when you execute 'gluster volume reset VOLNAME' command, features.quota-deem-statfs option is not changed. Setting and resetting of this option is allowed only through 'gluster volume quota VOLNAME enable/disable' command.
- BZ#1064265
- Previously, the gluster CLI allowed to set the soft-limit value of quota to greater than 100%. With this fix, soft-limit value is validated to allow only in the range of 1-100%.
- BZ#919235
- Previously, too many log files were created as ENOENT and ESTALE was set to WARNING log level. After the marker re-factoring, ENOENT and ESTALE was set to DEBUG level and log file creation have reduced drastically.
- BZ#1236672
- Previously, brick crashed when create, write, and remove operations were performed in parallel on a quota enabled volume. With this fix, brick does not crash even if create, write, and remove operations are performed parallel.
- BZ#1238049
- Previously, brick crashed during parallel rename and write happens or during continuous rename operation. With this fix, this issue is resolved.
- BZ#1245542
- Previously, if unlink was performed while the update transaction was still in progress, then it logged an error, which was due to ENOENT. Now, ENOENT errors are not logged.
- BZ#1229606
- Previously, the error "Failed to check quota size limit" was displayed when the disk quota was exceeded. With this fix, this error is not displayed
- BZ#1241807
- Previously, brick crashed during parallel rename and write operation on a quota enabled volume. With this fix, brick does not crash even if write and rename operations are performed in parallel.
- BZ#1242803
- Previously, executing 'gluster volume quota list' command use to hang if quotad was not running. With this fix, "Connection failed. Please check if quota daemon is operational." error message is displayed.
gluster-swift
- BZ#1255308
- Previously, 'Content-Length' of the object which was stored as metadata in the extended attribute was not validated with actual size of object during processing of a GET request. As a consequence, when an object was modified from file interface and later accessed over Swift interface, the Swift client used to either receive incomplete/inconsistent data or the request used to fail entirely. As a fix, now a check is made if the 'Content-Length' stored as metadata is same as the actual size of the object. If not same, the stored metadata is invalidated and the stored Content-Length is updated. Wit this fix, the entire object data is returned to the client and the request completes successfully.
- BZ#1238116
- Previously, when there was an error and exception was raised, in some cases, open file descriptors were not closed. This resulted in file descriptors being leaked. With this fix, exceptions raised are caught first, file descriptor are closed and then the original exception caught is re-raised.
- BZ#1251925
- Previously, .trashcan directory which is always present in the root of the volume was considered to be a container and was returned in the container listing. With this fix, .trashcan directory is no longer returned in the container listing.
glusterfs
- BZ#1255471
- Previously, on certain occasions, the libgfapi returned incorrect errors. NFS-Ganesha would handle the incorrect error in such a way that the procedures were retried. However, the used file descriptor should have been marked as bad, and no longer used. As a consequence, using a bad file descriptor caused access to memory that was freed and made NFS-Ganesha segfault. With this fix, libgfapi returns correct errors and marks the file descriptor as bad if the file descriptor should not be used again. Now, NFS-Ganesha does not try to reuse bad file descriptors and prevents segmentation faults.
- BZ#1244415
- Previously, glusterd was not fully initializing its transports when using management encryption. As a consequence, an unencrypted incoming connection would cause glusterd to crash. With this fix, the transports are now fully initialized and additional checks have been added to handle unencrypted incoming connections. Now, glusterd no longer crashes on incoming unencrypted connections when using management encryption.
- BZ#1252359
- Previously, volumes had to be remounted to benefit from change in the network.ping-timeout value for the respective volume. With this fix, the network.ping-timeout values take effect even without remounting the volume.
- BZ#1213893
- Previously, the brick processes did not consider rebalance processes to be trusted clients. As a consequence, if the auth.allow option was set for a volume, connections from the rebalance processes for that volume were rejected by the brick processes, causing rebalance to hang. With this fix, the rebalance process is treated as a trusted client by the brick processes. Now, the rebalance works even if the auth.allow option is set for a volume.
- BZ#1238977
- Previously, if a bad file was detected by scrubber, then the scrubber was marking the bad file information as an INFO message in the scrubber log. With this fix, the scrubber will mark a bad file as an ALERT message in the scrubber log.
- BZ#1241385
- Previously, the attribute '--output-prefix' specified in 'glusterfind pre' command did not provide the output prefix in case of deleted entry present in the glusterfind output file. With the fix, the output prefix of the deleted entry is present in the glusterfind output file.
- BZ#1232569
- Previously, the main status file related to the session was maintained in the node where the session was created. As a consequence, when "Glusterfind list" is executed on any node other than the node on which the session was created, the health of the session was shown as "corrupted." With this fix, the glusterfind does not to show "corrupted" when it does not find the status file in any other node except the node where the session is created. Now, the 'Glusterfind list' command will list the sessions only from the main node where the session is created.
- BZ#1228135
- Previously, all bitrot commands that use the "gluster volume set volname *" command to start or stop bitd and scrub daemon that set any value for bitrot and crubber daemon succeeded. But gluster did not support "gluster volume set volname*" command to reconfigure the BitRot options. Due to this, when the gluster volume set volname command is executed, then the bitrot and scrub daemon crashed. With this fix, gluster accepts only “gluster volume bitrot VOLNAME *” commands for bitrot and scrub operations.
- BZ#1234213
- Previously, on executing the 'glusterfind delete' command, the user was presented with password prompts for peer nodes. This was due to the peer node SSH key, set up for password-less SSH, getting deleted on local node before the keys got deleted on peer nodes. As a consequence, password prompts got displayed for all peer nodes all at once. The user had to enter passwords for all peer nodes as many times as there are peer nodes in the cluster. With this fix, checks have been added to avoid deleting SSH keys on local node before deleting them on peer node. The SSH keys on local node eventually get deleted as part of session cleanup. Now, the password prompts are no longer presented on executing a 'glusterfind delete' command.
glusterfs-geo-replication
- BZ#1232216
- Previously, if a meta-volume is configured, there was a small race window, where geo-replication worker access the unreferenced fd of the lock file maintained in shared storage volume. As a consequence, the geo-replication worker died and restarted. A fix is made in worker to always get the right fd. Now, the geo-replication worker does not die and restart.
- BZ#1239075
- Previously, the geo-replication worker was not re-trying the operation on ESTALE error lstat of an entry. As a consequence, the geo-replication worker was getting crashed and restarted. With this fix, geo-replication worker does not crash on ESTALE during lstat on the entry.
- BZ#1236546
- Previously, both ACTIVE and PASSIVE geo-replication workers registered to changelog at almost the same time. When PASSIVE worker becomes ACTIVE, the start and end time would be current stime and register_time respectively for history API. Hence register_time would be less then stime for which history API fails. As a consequence, passive worker, which becomes active dies for the first time. With this fix, the passive worker, which becomes active does not die for the first time.
glusterfs-server
- BZ#1243722
- Previously, the glusterd was not fully initializing its transports when using management encryption. As a consequence, an unencrypted incoming connection would cause glusterd to crash.As a fix, the transports are now fully initialized and additional checks have been added to handle unencrypted incoming connections.Now, glusterd no longer crashes on incoming unencrypted connections when using management encryption.
- BZ#1226665
- Previously, when there was no space left on the file system and when user performed any operation resulted to change in /var/lib/glusterd/* files, then the glusterd was failing to write to a temporary file. With this fix, a proper error message is displayed when /var/lib/glusterd/* is full.
- BZ#1251409
- Previoulsy, brick logs were filled with "server_resolve_inode (resolve_gfid+0x88) (dict_copy_with_ref+0xa4) invalid argument" error. With this fix, these logs are not seen.
- BZ#1134288
- Previously, on executing “gluster volume status” command, there was an error log seen in the glusterd.log file about “unable to get transaction opinfo”. With this fix, the glusterd service does not log this error.
- BZ#1230532
- Previously, even though the "gluster reset force" command succeeded, any daemons (bitd, quotad, scrub, shd) that are enabled on the volume were still running. With this fix, these daemons do not run after "gluster reset force" command success.
- BZ#1243886
- Previously, there was a huge memory leak in bricks and it consumed huge memory. With this fix, this issue is resolved.
- BZ#1245536
- Previously, on glusterd start, UUID was generated and stored in the /var/lib/glusterd/glusterd.info file. This information was static and identical for every instance created. As a consequence, peer probe between instances failed. With this fix, UUID will only be generated on first probe or during volume creation.
- BZ#1246946
- Previously, while detaching a peer from a node, the glusterd service was logging a critical message saying that it could not find the peer. With this fix, the glusterd service does not log this error.
- BZ#1224163
- Previously, even though the "gluster reset force" command succeeded, bitrot and scrub daemons were not stopped. With this fix, these daemons do not run after "gluster reset force" command success.
- BZ#1247445
- Previously, when a cluster had multiple volumes where the first volume in the volume list is not a replicated volume, and any of the other volumes is a replicated volume, after a reboot of a node, shd does not start. With this fix, shd will start in this scenario.
gstatus
- BZ#1250453
- The gstatus command is now fully supported. The gstatus command provides an easy-to-use, high-level view of the health of a trusted storage pool with a single command. It gathers information about the health of a Red Hat Gluster Storage trusted storage pool for distributed, replicated, distributed-replicated, dispersed, and distributed-dispersed volumes.
nfs-ganesha
- BZ#1241761
- Previously, when running high workloads, if the last volume exported via NFS-Ganesha is unexported, there was a memory corruption. As a consequence, the process would crash and failover to another node. Now, the memory corruption issue has been fixed and there will not be any crash.
- BZ#1241871
- Previously, if the mount path for NFSv3 contained symbolic links, then NFSv3 mount failed. With this fix, NFS server resolves the symbolic links in the mount path before sending to the client, hence mount will succeed.
- BZ#1226817
- NFS-Ganesha always runs in a subset of nodes in the trusted storage pool. So when a new volume is created, then Gluster-NFS can be started on the nodes outside that subset. As a consequence, same volume is exported via NFS-Ganesha in one node and via Gluster-NFS on another. As a fix, the Gluster-NFS should be disabled when nfs-ganesha option is enabled. Now, either NFS-Ganesha or Gluster-NFS will export the volume in the trusted storage pool.
- BZ#1238118
- Previously, when DBus signals were sent multiple times in succession for a volume that is already exported, caused NFS-Ganesha service crash. With this fix, NFS-Ganesha service does not crash.
- BZ#1235971
- Previously, the ganesha-ha.sh --status command printed the output of "pcs status" as is on the screen. The output was not user friendly. With this fix, the output of the pcs status is formatted well and is easily understandable by the user.
- BZ#1245636
- Previously, one of the APIs used by the User Serviceable snapshots did not get resolved during dynamic loading due to its symbol collision with another API provided by ntirpc library used by NFS-Ganesha. As a consequence, User Serviceable Snapshots did not work with NFS-Ganesha. With this fix, the APIs are made static to avoid the symbol collisions. User Serviceable Snapshots now work with NFS-Ganesha.
redhat-storage-server
- BZ#1248899
- Gdeploy is a tool which automates the process of creating, formatting, and mounting bricks. When setting-up a fresh cluster, gdeploy could be the preferred choice of cluster set up, as manually executing numerous commands can be error prone. The advantages of using gdeploy includes automated brick creation, flexibility in choosing the drives to configure (sd, vd, ...) and flexibility in naming the logical volumes (LV) and volume groups (VG).
- BZ#1251360
- In this release, two new tuned profiles, that is, rhgs-sequential-io and rhgs-random-io for RHEL-6 has been added to Red Hat Gluster Storage.