** Description changed: - [Impact] - * Infinite loop during GC phase can trigger (high CPU usage and disk IO). This has a no side-effect, just looping withouth any modifications. - * The fix is to cover this case (a dataset that the GC can‘t destroy, put in a black list for the next loop state). The issue is that due to the order of if/else if, the else if "in blacklist" was never evaluated. - * The new code is covered by a specific test and coverage confirms this is now run. + [Impact] + * Infinite loop during GC phase can trigger (high CPU usage and disk IO). This has a no side-effect, just looping withouth any modifications. + * The fix is to cover this case (a dataset that the GC can‘t destroy, put in a black list for the next loop state). The issue is that due to the order of if/else if, the else if "in blacklist" was never evaluated. + * The new code is covered by a specific test and coverage confirms this is now run. [Test Case] - * 1. Create a dataset clone on an userdataset. This clone should have a snapshot or a snapshot/clone to not be automatically deletable. - * 2. Run zsysctl service gc + 1. Create a dataset clone on an userdataset. This clone should have a snapshot or a snapshot/clone to not be automatically deletable. + 2. Run zsysctl service gc -> no more infinite loop (the commands exits after a while with no timeout) with the fixed package. - [Regression Potential] - * GC is a separate, timer-based process and don’t impact boot or other operations. - * The 30 existing tests on the GC didn’t regress and we now have some additional ones around those use case. - + [Regression Potential] + * GC is a separate, timer-based process and don’t impact boot or other operations. + * The 30 existing tests on the GC didn’t regress and we now have some additional ones around those use case. --------- I was installed Ubuntu 20.04 with zfs yesterday, it was OK until a few updates, after that the zsysd was started draining CPU and disk IO. How can I fix it to back to normal? Is it possible to rollback recent system state? If Yes, just how? NOTE: I was stopped and disabled zsysd service and removed zsysd.socket file, after that it worked normally for now. And there is this error occured when I am installing or removing a software package via apt: ERROR couldn't connect to zsys daemon: connection error: desc = "transport: Error while dialing dial unix /run/zsysd.sock: connect: no such file or directory" I think this is not a good approach ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: zsys 0.4.2 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair ApportVersion: 2.20.11-0ubuntu22 Architecture: amd64 CurrentDesktop: ubuntu:GNOME Date: Fri Apr 3 05:37:29 2020 InstallationDate: Installed on 2020-04-01 (1 days ago) InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Alpha amd64 (20200330) SourcePackage: zsys UpgradeStatus: No upgrade log present (probably fresh install)
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1870461 Title: zsysd uses more than half of CPU and disk IO To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/zsys/+bug/1870461/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs