Skip to content

Latest commit

 

History

History
200 lines (185 loc) · 19.8 KB

10.0.md

File metadata and controls

200 lines (185 loc) · 19.8 KB

Release notes for Gluster 10.0

This is a major release that includes a range of features, code improvements and stability fixes as noted below.

A selection of the key features and changes are documented in this page. A full list of bugs that have been addressed is included further below.

Announcements

  1. Releases that receive maintenance updates post release 10 is 9 (reference)
  2. Release 10 will receive maintenance updates around the 15th of every alternative month, and the release 9 will recieve maintainance updates around 15th every three months.

Highlights

  • Major performance improvement of ~20% w.r.t small files as well as large files testing in controlled lab environments #2771

    NOTE: The above improvement requires tcmalloc library to be enabled for building. We have tested and verified tcmalloc in X86_64 platforms and is enabled only for x86_64 builds in current release.

  • Randomized port selection for bricks, improves startup time #786

  • Performance improvement with use of readdir instead of readdirp in fix-layout #2241

  • Heal time improvement with bigger window size #2067

Bugs addressed

Bugs addressed since release-10 are listed below.

#504 AFR: remove memcpy() + ntoh32() pattern #705 gf_backtrace_save inefficiencies #782 Do not explicitly call strerror(errnum) when logging #786 glusterd-pmap binds to 10K ports on startup (using IPv4) #904 [bug:1649037] Translators allocate too much memory in their xlator_ #1000 [bug:1193929] GlusterFS can be improved #1002 [bug:1679998] GlusterFS can be improved #1052 [bug:1693692] Increase code coverage from regression tests #1060 [bug:789278] Issues reported by Coverity static analysis tool #1096 [bug:1622665] clang-scan report: glusterfs issues #1101 [bug:1813029] volume brick fails to come online because other proce #1251 performance: improve __afr_fd_ctx_get() function #1339 Rebalance status is not shown correctly after node reboot #1358 features/shard: wrong "inode->ref" leading to ASSERT in inode_unref #1359 Cleanup --disable-mempool #1380 fd_unref() optimization - do an atomic decrement outside the lock a #1384 mount glusterfs volume, files larger than 64Mb only show 64Mb #1406 shared storage volume fails to mount in ipv6 environment #1415 Removing problematic language in geo-replication #1423 shard_make_block_abspath() should be called with a string of of the #1536 Improve dict_reset() efficiency #1545 fuse_invalidate_entry() - too many repetitive calls to uuid_utoa() #1583 Rework stats structure (xl->stats.total.metrics[fop_idx] and friend #1584 MAINTAINERS file needs to be revisited and updated #1596 'this' NULL check relies on 'THIS' not being NULL #1600 Save and re-use MYUUID #1678 Improve gf_error_to_errno() and gf_errno_to_error() positive flow #1695 Rebalance has a redundant lookup operation #1702 Move GF_CLIENT_PID_GSYNCD check to start of the function. #1703 Remove trivial check for GF_XATTR_SHARD_FILE_SIZE before calling sh #1707 PL_LOCAL_GET_REQUESTS access the dictionary twice for the same info #1717 glusterd: sequence of rebalance and replace/reset-brick presents re #1723 DHT: further investigation for treating an ongoing mknod's linkto file #1749 brick-process: call 'notify()' and 'fini()' of brick xlators in a p #1755 Reduce calls to 'THIS' in fd_destroy() and others, where 'THIS' is #1761 CONTRIBUTING.md regression can only be run by maintainers #1764 Slow write on ZFS bricks after healing millions of files due to add #1772 build: add LTO as a configure option #1773 DHT/Rebalance - Remove unused variable dht_migrate_file #1779 Add-brick command should check hostnames with bricks present in vol #1825 Latency in io-stats should be in nanoseconds resolution, not micros #1872 Question: How to check heal info without glusterd management layer #1885 __posix_writev() - reduce memory copies and unneeded zeroing #1888 GD_OP_VERSION needs to be updated for release-10 #1898 schedule_georep.py resulting in failure when used with python3 #1909 core: Avoid several dict OR key is NULL message in brick logs #1925 dht_pt_getxattr does not seem to handle virtual xattrs. #1935 logging to syslog instead of any glusterfs logs #1943 glusterd-volgen: Add functionality to accept any custom xlator #1952 posix-aio: implement GF_FOP_FSYNC #1959 Broken links in the 2 replicas split-brain-issue - [Bug][Enhancemen #1960 Add missing LOCK_DESTROY() calls #1966 Can't print trace details due to memory allocation issues #1977 Inconsistent locking in presence of disconnects #1978 test case ./tests/bugs/core/bug-1432542-mpx-restart-crash.t is gett #1981 Reduce posix_fdstat() calls in IO paths #1991 mdcache: bug causes getxattr() to report ENODATA when fetching samb #1992 dht: var decommission_subvols_cnt becomes invalid when config is up #1996 Analyze if spinlocks have any benefit and remove them if not #2001 Error handling in /usr/sbin/gluster-eventsapi produces AttributeErr #2005 ./tests/bugs/replicate/bug-921231.t is continuously failing #2013 dict_t hash-calculation can be removed when hash_size=1 #2024 Remove gfs_id variable or at least set to appropriate value #2025 list_del() should not set prev and next #2033 tests/bugs/nfs/bug-1053579.t fails on CentOS 8 #2038 shard_unlink() fails due to no space to create marker file #2039 Do not allow POSIX IO backend switch when the volume is running #2042 mount ipv6 gluster volume with serveral backup-volfile-servers,use #2052 Revert the commit 50e953e2450b5183988c12e87bdfbc997e0ad8a8 #2054 cleanup call_stub_t from unused variables #2063 Provide autoconf option to enable/disable storage.linux-io_uring du #2067 Change self-heal-window-size to 1MB by default #2075 Annotate synctasks with valgrind API if --enable-valgrind[=memcheck #2080 Glustereventsd default port #2083 GD_MSG_DICT_GET_FAILED should not include 'errno' but 'ret' #2086 Move tests/00-geo-rep/00-georep-verify-non-root-setup.t to tests/00 #2096 iobuf_arena structure doesn't need passive and active iobufs, but l #2099 'force' option does not work in the replicated volume snapshot crea #2101 Move 00-georep-verify-non-root-setup.t back to tests/00-geo-rep/ #2107 mount crashes when setfattr -n distribute.fix.layout -v "yes" is ex #2116 enable quota for multiple volumes take more time #2117 Concurrent quota enable causes glusterd deadlock #2123 Implement an I/O framework #2129 CID 1445996 Null pointer dereferences (FORWARD_NULL) /xlators/mgmt/ #2130 stack.h/c: remove unused variable and reorder struct #2133 Changelog History Crawl failed after resuming stopped geo-replicati #2134 Fix spurious failures caused by change in profile info duration to #2138 glfs_write() dumps a core file file when buffer size is 1GB #2154 "Operation not supported" doing a chmod on a symlink #2159 Remove unused component tests #2161 Crash caused by memory corruption #2169 Stack overflow when parallel-readdir is enabled #2180 CID 1446716: Memory - illegal accesses (USE_AFTER_FREE) /xlators/mg #2187 [Input/output error] IO failure while performing shrink operation w #2190 Move a test case tests/basic/glusterd-restart-shd-mux.t to flaky #2192 4+1 arbiter setup is broken #2198 There are blocked inodelks for a long time #2216 Fix coverity issues #2232 "Invalid argument" when reading a directory with gfapi #2234 Segmentation fault in directory quota daemon for replicated volume #2239 rebalance crashes in dht on master #2241 Using readdir instead of readdirp for fix-layout increases performa #2253 Disable lookup-optimize by default in the virt group #2258 Provide option to disable fsync in data migration #2260 failed to list quota info after setting limit-usage #2268 dht_layout_unref() only uses 'this' to check that 'this->private' i #2278 nfs-ganesha does not start due to shared storage not ready, but ret #2287 runner infrastructure fails to provide platfrom independent error c #2294 dict.c: remove some strlen() calls if using DICT_LIST_IMP #2308 Developer sessions for glusterfs #2313 Long setting names mess up the columns and break parsing #2317 Rebalance doesn't migrate some sparse files #2328 "gluster volume set group samba" needs to include write-b #2330 gf_msg can cause relock deadlock #2334 posix_handle_soft() is doing an unnecessary stat #2337 memory leak observed in lock fop #2348 Gluster's test suite on RHEL 8 runs slower than on RHEL 7 #2351 glusterd: After upgrade on release 9.1 glusterd protocol is broken #2353 Permission issue after upgrading to Gluster v9.1 #2360 extras: postscript fails on logrotation of snapd logs #2364 After the service is restarted, a large number of handles are not r #2370 glusterd: Issues with custom xlator changes #2378 Remove sys_fstatat() from posix_handle_unset_gfid() function - not #2380 Remove sys_lstat() from posix_acl_xattr_set() - not needed #2388 Geo-replication gets delayed when there are many renames on primary #2394 Spurious failure in tests/basic/fencing/afr-lock-heal-basic.t #2398 Bitrot and scrub process showed like unknown in the gluster volume #2404 Spurious failure of tests/bugs/ec/bug-1236065.t #2407 configure glitch with CC=clang #2410 dict_xxx_sizen variant compilation should fail on passing a variabl #2414 Prefer mallinfo2() to mallinfo() if available #2421 rsync should not try to sync internal xattrs. #2429 Use file timestamps with nanosecond precision #2431 Drop --disable-syslog configuration option #2440 Geo-replication not working on Ubuntu 21.04 #2443 Core dumps on Gluster 9 - 3 replicas #2446 client_add_lock_for_recovery() - new_client_lock() should be called #2467 failed to open /proc/0/status: No such file or directory #2470 sharding: [inode.c:1255:__inode_unlink] 0-inode: dentry not found #2480 Brick going offline on another host as well as the host which reboo #2502 xlator/features/locks/src/common.c has code duplication #2507 Use appropriate msgid in gf_msg() #2515 Unable to mount the gluster volume using fuse unless iptables is fl #2522 ganesha_ha (extras/ganesha/ocf): ganesha_grace RA fails in start() #2540 delay-gen doesn't work correctly for delays longer than 2 seconds #2551 Sometimes the lock notification feature doesn't work #2581 With strict-locks enabled clients which are holding posix locks sti #2590 trusted.io-stats-dump extended attribute usage description error #2611 Granular entry self-heal is taking more time than full entry self h #2617 High CPU utilization of thread glfs_fusenoti and huge delays in som #2620 Granular entry heal purging of index name trigger two lookups in th #2625 auth.allow value is corrupted after add-brick operation #2626 entry self-heal does xattrops unnecessarily in many cases #2649 glustershd failed in bind with error "Address already in use" #2652 Removal of deadcode: Pump #2659 tests/basic/afr/afr-anon-inode.t crashed #2664 Test suite produce uncompressed logs #2693 dht: dht_local_wipe is crashed while running rename operation #2771 Smallfile improvement in glusterfs #2782 Glustereventsd does not listen on IPv4 when IPv6 is not available #2789 An improper locking bug(e.g., deadlock) on the lock up_inode_ctx->c #2798 FUSE mount option for localtime-logging is not exposed #2816 Glusterfsd memory leak when subdir_mounting a volume #2835 dht: found anomalies in dht_layout after commit c4cbdbcb3d02fb56a62 #2857 variable twice initialization.