diff options
-rw-r--r-- | doc/release-notes/6.0.md | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/doc/release-notes/6.0.md b/doc/release-notes/6.0.md new file mode 100644 index 0000000000..9140df5154 --- /dev/null +++ b/doc/release-notes/6.0.md @@ -0,0 +1,142 @@ +# Release notes for Gluster 6.0 + +This is a major release that includes a range of code improvements and stability +fixes among a few features as noted below. + +A selection of the key features and changes are documented on this page. +A full list of bugs that have been addressed is included further below. + +- [Announcements](#announcements) +- [Major changes and features](#major-changes-and-features) +- [Major issues](#major-issues) +- [Bugs addressed in the release](#bugs-addressed) + +## Announcements + +1. Releases that receive maintenance updates post release 6 are, 4.1 and 5 +([reference](https://www.gluster.org/release-schedule/)) + +2. Release 6 will receive maintenance updates around the 30th of every month +for the first 3 months post release (i.e Mar'19, Apr'19, May'19). Post the +initial 3 months, it will receive maintenance updates every 2 months till EOL. +([reference](https://lists.gluster.org/pipermail/announce/2018-July/000103.html)) + +3. A series of features/xlators have been deprecated in release 6 as follows, +for upgrade procedures from volumes that use these features to release 6 refer +to the release 6 [upgrade guide](https://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_6/). + +This deprecation was announced at the gluster-users list [here](https://lists.gluster.org/pipermail/gluster-users/2018-July/034400.html). + +Features deprecated: +- Block device (bd) xlator +- Decompounder feature +- Crypt xlator +- Symlink-cache xlator +- Stripe feature +- Tiering support (tier xlator and changetimerecorder) + +## Major changes and features + +Features are categorized into the following sections, + +- [Management](#management) +- [Standalone](#standalone) +- [Developer](#developer) + +### Management + +#### GlusterD2 + +TODO: Fill in GD2 status, as pertaining to GCS (container storage) release. + +### Standalone + +#### 1. Glusterfind tool enhanced with a filter option + +glusterfind tool has an added option "--type", to be used with the "--full" +option. The option supports finding and listing files or directories only, and +defaults to both if not specified. + +Example usage with the pre and query commands are given below, +1. Pre command ([reference](https://docs.gluster.org/en/latest/GlusterFS%20Tools/glusterfind/#pre-command)): +- Lists both files and directories in OUTFILE: + `glusterfind pre SESSION_NAME VOLUME_NAME OUTFILE` + +- Lists only files in OUTFILE: + `glusterfind pre SESSION_NAME VOLUME_NAME OUTFILE --type f` + +- Lists only directories in OUTFILE: + `glusterfind pre SESSION_NAME VOLUME_NAME OUTFILE --type d` + +2. Query command: +- Lists both files and directories in OUTFILE: + `glusterfind query VOLUME_NAME --full OUTFILE` + +- Lists only files in OUTFILE: + `glusterfind query VOLUME_NAME --full --type f OUTFILE` + +- Lists only directories in OUTFILE: + `glusterfind query VOLUME_NAME --full --type d OUTFILE` + +#### 2. FUSE mounts are enhanced to handle interrupts to blocked lock requests + +FUSE mounts are enhanced to handle interrupts to blocked locks. + +For example scripts using flock (`man 1 flock`) utility without the -n(nonblock) +option against files on a FUSE based gluster mount, can now be interrupted when +the lock is not granted in time or using the -w option from the same utility. + +#### 3. client-side inode garbage collection via LRU list + +A FUSE mounts inode cache can now be limited to a maximum number, thus reducing +the memory footprint of FUSE mount processes. + +See lru-limit option in `man 8 mount.glusterfs` for usage details. + +NOTE: Setting this to low numbers (say less than 4000), will evict inodes from +FUSE and Gluster caches at a much faster rate, and can cause performance +degrades. The setting has to be balanced across available client memory and +performance. + +#### 4. Optimized/pass-through distribute functionality for 1-way distributed volumes + +**NOTE:** There are no user controllable changes with this feature + +Distribute xlator is optimized, to mostly pass-through operations, when the +distribute count is one for a volume, resulting in improved performance. + +#### 5. Options introduced to disable invalidations of kernel page cache + +For workloads, where multiple FUSE client mounts do not concurrently operate on +any files in the volume, it is now possible to maintain a longer duration kernel +page cache using the following options in conjunction, + +- Setting `--auto-invalidation` option to "no" on the glusterfs FUSE mount +process +- Disabling the volume option `performance.global-cache-invalidation` + +This enables better performance as the data is served from the kernel page cache +where possible. + +### Developer + +#### 1. Gluster code can be compiled and executed using [TSAN](https://clang.llvm.org/docs/ThreadSanitizer.html) + +While configuring the sources for a build use the extra option `--enable-tsan` +to enable thread sanitizer based builds. + +#### 2. gfapi: A class of APIs have been enhances to return pre/post gluster_stat information + +A set of [apis](https://github.com/gluster/glusterfs/blob/release-6/api/src/gfapi.map#L245) have been enhanced to return pre/post gluster_stat information. +Applications using gfapi would need to adapt to the newer interfaces to compile +against release-6 apis. Pre-compiled applications, or applications using the +older API SDK will continue to work as before. + +## Major issues + +<TODO> + +## Bugs addressed + +Bugs addressed since release-5 are listed below. +<TODO> |