Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gluster 9.0 - release roadmap #1465

Closed
msaju opened this issue Sep 4, 2020 · 16 comments
Closed

Gluster 9.0 - release roadmap #1465

msaju opened this issue Sep 4, 2020 · 16 comments
Assignees
Projects
Milestone

Comments

@msaju
Copy link
Contributor

msaju commented Sep 4, 2020

This issue is intended to receive updates for all the enhancements/improvements being proposed to be included in the release 9.0.

Release Deadlines:
Code Freeze : 20-Nov-2020
RC : 30-Nov-2020
GA : 11-Dec-2020

Planned Improvements for 9.0: (Additions on the way)

  1. io_uring support for Gluster: This will be done in a phased manner.(https://review.gluster.org/#/c/glusterfs/+/24350/ to add io-uring support in posix xlator for reads, writes and fsyncs.)
  2. Prevention of gfid split-brains
  3. Read-dir performance improvement (https://review.gluster.org/24469, https://review.gluster.org/24470)
  4. Compile with LTO/GCC 10
  5. Monitor the performance in epoll/rpc layer (Currently, there is no way to find bottlenecks in rpc layer or monitor the performance/latency. This enhancement tries to fill that gap.)
  6. glusterd-pmap binds to 10K ports on startup (using IPv4): glusterd-pmap binds to 10K ports on startup (using IPv4) #786
  7. Change posix_threads(disk_space,health_check,fsync):In brick_mux environment currently we do spawn a separate posix_thread per brick, need to spwan a single thread per brick process
  8. Implement brick resource cleanup code:Currently glusterd sends the kill signal to stop the brick without cleanup resources, Need to implement gracefull way to stop the brick
  9. Glusterfind: internal DB :Glusterfind needs to improve the amount of time it takes processing the entries in its
    internal database when there's been data and metadata intensive workload.
  10. Support for 5K volumes
  11. Consistent cache: Currently, caching feature is spread among several xlators and there are known race conditions that make it necessary to disable them. With the consistent cache approach we intend to provide a performance improvement by serving more requests directly from a central cache xlator.
  12. Changelog Enhancements: Enhancements include optimisation in changelog directory structure, enabling changelog enabled time (elimination of htime file), recording of fops from internal clients and using full path name for renaming.

Release Process:

  1. Update the release document
  2. Announce the release
@msaju msaju self-assigned this Sep 4, 2020
@amarts
Copy link
Member

amarts commented Sep 8, 2020

I would request to add #280 for the list. The patches are out there, and only review pending.

@msaju
Copy link
Contributor Author

msaju commented Sep 10, 2020

Updates to the list:

  1. Runtime adjustment of mount options / fuse tunables : Tunables of the fuse translator should be possible to change while the mount is in place.
  2. Provide support for add, remove and replace brick for thin arbiter: Add, remove and replace brick volume operations functionality is missing currently

@mykaul
Copy link
Contributor

mykaul commented Sep 10, 2020

Updates to the list:

  1. Runtime adjustment of mount options / fuse tunables : Tunables of the fuse translator should be possible to change while the mount is in place.
  2. Provide support for add, remove and replace brick for thin arbiter: Add, remove and replace brick volume operations functionality is missing currently

It's better to edit, if possible, the initial list, so it could be tracked in one place. Also, using Markdown, we can probably add checkboxes, so we can track what's been done and what isn't in yet.

@msaju
Copy link
Contributor Author

msaju commented Sep 17, 2020

Update on the Gluster Release 9.0 progress. Issue #280 has been added to the list.

@msaju msaju added this to the Release 9 milestone Sep 28, 2020
@msaju
Copy link
Contributor Author

msaju commented Sep 30, 2020

Update on the Gluster Release 9.0 progress.

@kalebskeithley
Copy link
Contributor

kalebskeithley commented Sep 30, 2020

wrt Compile with LTO/GCC 10: TBD

Gluster, as of 8.0, already compiles with gcc-10 and LTO on Fedora f32/f33/f34/rawhide, Ubuntu 20.10 (groovy), and OpenSUSE Tumbleweed.

This is a no-op at this point. The only changes required were the gfapi symbol versioning and commit 8eba9de

There is nothing to enable or configure. If the regression tests are running on fedora-32 or later (or one of those other distributions) then they are using gcc-10 and LTO.

@amarts amarts added this to Release 9 in Releases Oct 12, 2020
@msaju
Copy link
Contributor Author

msaju commented Oct 15, 2020

wrt Compile with LTO/GCC 10: TBD

Gluster, as of 8.0, already compiles with gcc-10 and LTO on Fedora f32/f33/f34/rawhide, Ubuntu 20.10 (groovy), and OpenSUSE Tumbleweed.

This is a no-op at this point. The only changes required were the gfapi symbol versioning and commit 8eba9de

There is nothing to enable or configure. If the regression tests are running on fedora-32 or later (or one of those other distributions) then they are using gcc-10 and LTO.

We will be doing the regression and performance tests as part of this activity.

@pranithk
Copy link
Member

@msaju Could you change the description of 1211 to rename dir heal instead of gfid split-brain prvention? This is phase-1 to achieve gfid-split-brain prevention

@mykaul
Copy link
Contributor

mykaul commented Oct 15, 2020

#768 above is not complete, it's still open.

@tshacked
Copy link
Contributor

There is nothing to enable or configure. If the regression tests are running on fedora-32 or later (or one of those other distributions) then they are using gcc-10 and LTO.

A tiny correction, on Fedora 32 there's a need to explicitly add the -flto option for enabling LTO optimization. @kalebskeithley, can you please confirm this?

This is my current steps on the "Compile with LTO/GCC 10" task, please let me know if anything is missing:

  1. For checking performance benefit from LTO optimization I'm going to run gluster-performance-test-suite on two sets of gluster RPMs builds done on F32 using gcc 10.2.1, where for one build LTO got enabled.
  2. according to (1) result we can consider adding LTO as a build configuration option (only for F32 machine?)

@kalebskeithley
Copy link
Contributor

kalebskeithley commented Oct 21, 2020

Fedora-32 and later has gcc-10. Fedora-33 is the first version that requires the use of LTO for all the various bundled packages, e.g. glusterfs, ceph, etc. By extension it is presumed that RHEL9 will require the use of LTO for downstream/product packages. (Also, gcc-11 is coming soon, in Fedora Rawhide/34 and Fedora Enterprise Linux Next (ELN) which will be the basis for RHEL9.)

If someone wants to enable LTO when they build on Fedora-32 and earlier and other distributions then -flto must be added to the build CFLAGS and LDFLAGS. LTO has been a gcc feature since at least gcc-4. (How well it works in versions before gcc-10 is unknown.)

When building RPMS on Fedora-33 and later -flto is already automatically added by rpmbuild. (But if you're just doing an ordinary ./configure && make on Fedora-33 and later you will have to add -flto to the flags.)

I am not aware of any pressing requirement to use LTO just because gcc-10 is being used. Who is asking for LTO all the time?

@msaju
Copy link
Contributor Author

msaju commented Oct 22, 2020

Status update on the Gluster 9.0 major release items as of today is as follows:

Development Complete: #1670 , #1398 , #1621 .

@msaju
Copy link
Contributor Author

msaju commented Nov 5, 2020

Status update on the Gluster 9.0 major release items as of today is as follows:

@msaju
Copy link
Contributor Author

msaju commented Nov 12, 2020

Status update on the Gluster 9.0 major release items as of today is as follows:

@msaju
Copy link
Contributor Author

msaju commented Dec 4, 2020

Status update on the Gluster 9.0 major release items as of today is as follows.
Few of the inital planned items are not ready for release timeline.
Those marked NOT READY FOR RELEASE, will be planned to be part of subsequent minor releases.
The GA date also has been re planned to be on 18th December 2020.

@msaju
Copy link
Contributor Author

msaju commented Feb 5, 2021

Release 9.0 has been completed.

@msaju msaju closed this as completed Feb 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Releases
  
Release 9
Development

No branches or pull requests

6 participants