diff options
-rw-r--r-- | doc/release-notes/3.13.0.md | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/doc/release-notes/3.13.0.md b/doc/release-notes/3.13.0.md new file mode 100644 index 00000000000..1c5f22d551b --- /dev/null +++ b/doc/release-notes/3.13.0.md @@ -0,0 +1,251 @@ +# Release notes for Gluster 3.13.0 + +This is a major Gluster release that includes, a range of usability related +features, GFAPI developer enhancements to Gluster, among other bug fixes. + +The most notable features and changes are documented on this page. A full list +of bugs that have been addressed is included further below. + +## Major changes and features + +### Addition of summary option to the heal info CLI + +**Notes for users:** +Gluster heal info CLI has been enhanced with a 'summary' option, that helps in +displaying the statistics of entries pending heal, in split-brain and, +currently being healed, per brick. + +Usage: +``` +# gluster volume heal <volname> info summary +``` + +Sample output: +``` +Brick <brickname> +Status: Connected +Total Number of entries: 3 +Number of entries in heal pending: 2 +Number of entries in split-brain: 1 +Number of entries possibly healing: 0 + +Brick <brickname> +Status: Connected +Total Number of entries: 4 +Number of entries in heal pending: 3 +Number of entries in split-brain: 1 +Number of entries possibly healing: 0 +``` + +This option supports xml format output, when the CLI is provided with the +--xml option. + +NOTE: Summary information is obtained in a similar fashion to detailed +information, thus time taken for the command to complete would still be the +same, and not faster. + +**Limitations:** + +None + +**Known Issues:** +None + +### Addition of checks for allowing lookups in AFR and removal of 'cluster.quorum-reads' volume option. + + ** Notes for users:** + +Traditionally, AFR has never failed lookup unless there is a gfid mismatch. +This behavior is being changed with this release, as a part of +fixing [Bug#1515572](https://bugzilla.redhat.com/show_bug.cgi?id=1515572). + +Lookups in replica-3 and arbiter volumes will now succeed only if there is +quorum and there is a good copy of a file. I.e. the lookup has to succeed on +quorum #bricks and at least one of them has to be a good copy. If these +conditions are not met, the operation will fail with the ENOTCONN error. + +As a part of this change the cluster.quorum-reads volume option is removed, as +lookup failure will result in all subsequent operations (including reads) +failing, which makes this option redundant. + +Ensuring this strictness also helps prevent a long standing +rename-leading-to-dataloss [Bug#1366818](https://bugzilla.redhat.com/show_bug.cgi?id=1366818), by disallowing lookups (and thus +renames) when a good copy is not available. + +Note: These checks do not affect replica 2 volumes where lookups works as +before, even when only 1 brick is online. + +Further reference: [mailing list discussions on topic](http://lists.gluster.org/pipermail/gluster-users/2017-September/032524.html) + +### Support for max-port range in glusterd.vol + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### Prevention of other processes accessing the mounted brick snapshots + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### Thin client feature + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### Ability to reserve backend storage space + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### List all the connected clients for a brick and also exported bricks/snapshots from each brick process + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### Improved write performance with Disperse xlator, by introducing parallel writes to file + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### Disperse xlator now supports discard operations + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### Addressed several compilation warnings with gcc 7.x + +**Notes for users:** + + +**Limitations:** + + +**Known Issues:** + + +### Included details about memory pools in statedumps + +**Notes for users:** +For troubleshooting purposes it sometimes is useful to verify the memory +allocations done by Gluster. A previous release of Gluster included a rewrite +of the memory pool internals. Since these changes, `statedump`s did not include +details about the memory pools anymore. + +This version of Gluster adds details about the used memory pools in the +`statedump`. Troubleshooting memory consumption problems is much more efficient +again. + +**Limitations:** +There are currently no statistics included in the `statedump` about the actual +behavior of the memory pools. This means that the efficiency of the memory +pools can not be verified. + + +### Gluster APIs added to register callback functions for upcalls + +**Notes for developers:** +New APIs have been added to allow gfapi applications to register and unregister +for upcall events. Along with the list of events interested, applications now +have to register callback function. This routine shall be invoked +asynchronously, in gluster thread context, in case of any upcalls sent by the +backend server. + +```sh +int glfs_upcall_register (struct glfs *fs, uint32_t event_list, + glfs_upcall_cbk cbk, void *data); +int glfs_upcall_unregister (struct glfs *fs, uint32_t event_list); +``` +libgfapi [header](https://github.com/gluster/glusterfs/blob/release-3.13/api/src/glfs.h#L970) files include the complete synopsis about these APIs definition and their usage. + + +**Limitations:** +An application can register only a single callback function for all the upcall +events it is interested in. + +**Known Issues:** +[Bug#1515748](https://bugzilla.redhat.com/show_bug.cgi?id=1515748) GlusterFS server should be able to identify the clients which +registered for upcalls and notify only those clients in case of such events + +### Gluster API added with a `glfs_mem_header` for exported memory + +**Notes for developers:** +Memory allocations done in `libgfapi` that return a structure to the calling +application should use `GLFS_CALLOC()` and friends. Applications can then +correctly free the memory by calling `glfs_free()`. + +This is implemented with a new `glfs_mem_header` similar to how the memory +allocations are done with `GF_CALLOC()` etc. The new header includes a +`release()` function pointer that gets called to free the resource when the +application calls `glfs_free()`. + +The change is a major improvement for allocating and free'ing resources in a +standardized way that is transparent to the `libgfapi` applications. + +### Provided a new xlator to delay fops, to aid slow brick response simulation and debugging + +**Notes for developers:** + + +**Limitations:** + + +**Known Issues:** + + +## Major issues +1. Expanding a gluster volume that is sharded may cause file corruption + - Sharded volumes are typically used for VM images, if such volumes are + expanded or possibly contracted (i.e add/remove bricks and rebalance) there + are reports of VM images getting corrupted. + - The last known cause for corruption (Bug #1515434) has a fix with this + release. As further testing is still in progress, the issue is retained as + a major issue. + - Status of this bug can be tracked here, #1515434 + +## Bugs addressed + +Bugs addressed since release-3.12.0 are listed below. + +**To Be Done** |