github pydio/cells v2.0.3
Cells 2.0.3 - Performance Release

latest releases: v4.4.1, prepare-4.4.1, v4.4.0...
4 years ago

Cells 2.0.3 is focused on performance. We have identified potential important memory and CPU hogs, that eventually lead to high memory consumption and services failure. For important files volumetry, mem and cpu usage are now drastically reduced and stabilized.

Upgrade is highly recommended and is straightforward with the in-app tool. As always, do not forget to use the setcap command before restarting if you bind to 80 or 443.

Performances

  • MEM : Fix undeleted cache sessions from memory
  • CPU : drastically reduce the number of goroutines in many locations :
    • Federate all config watchers to start only one per process
    • Adding non-locking log syncer and properly close scheduler dispatchers
    • Closing scheduler tasks properly
    • Search subscriber : filter events earlier in the process
  • CPU : optimize "clean versions for deleted nodes" action
  • MEM : Reduce "sortClosestMove" complexity when moving many files with same ETag (but still some room for improvements).
  • DB access : add a skipFolderSize parameter on GetNodeTree to avoid this step during move
  • Code : Always defer cancel when using WithTimeout()
  • Improve profiling output : send pprof profiles in a dedicated folder with timestamp (using kill -SIGUSR1).

Services bug fixes and improvements

  • Fix edge case for "move inside move" in index cache
  • Binary update : safe move backup file after update, to avoid cross-device link rename error if running on a mounted volume
  • Add a flag to stop server after installation
  • Fix unique file compression
  • Properly clear unused rules when updating security policies groups
  • Clean logs in encryption keys service
  • Views library : generic permissions checks when used in Wrapped context, use WrappedCanApply factorized methods

UX

  • Publish new activity on usermeta update and new comment posted
  • JS uploader: add a backoff on uploader retry, display error to user, missing some strings and their translations in overwrite alert dialog
  • Validation check on metadata JsonValue before storing, to avoid breaking display if JSON is not valid.
  • Massive clean of AdminPeople library
  • Fix log table being refreshed on window resize

Change log

You can find a summary of the change log here.

Don't miss a new cells release

NewReleases is sending notifications on new releases.