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

Some things to document #546

Open
joshtrichards opened this issue Apr 10, 2024 · 0 comments
Open

Some things to document #546

joshtrichards opened this issue Apr 10, 2024 · 0 comments

Comments

@joshtrichards
Copy link
Member

joshtrichards commented Apr 10, 2024

Troubleshooting

  • occ maintenance:repair (clear steps stuck)

System Requirements

  • Memory (RAM):
    • At the bare minimum, currently a PHP memory_size (for Web and CLI PHP) of 256MB is required. This is subject to change as the Archive size grows.
  • Disk space
    • At a bare minimum, currently enough space to fully back up the existing Nextcloud installation folder (excluding data) is required + the extracted size of the latest Archive + space for the downloaded Archive zip (currently ~220MB and it'll get deleted just after extraction however) + ? TBD

Known Issues & Bugs

  • The verifyIntegrity() step requires the host system and PHP have a RAM allocation equal to the target Archive file's size (compressed fortunately) (e.g. In low memory setups, the updater fails at step 5 #505). As the Archive grows so do our memory requirements.
    • Points of reference:
      • v28.0.4 currently requires 214MB)
      • Looks like we crossed over the 100MB mark ~v18.0.0)
    • Indications:
      • In Web mode, there aren't currently any direct clues other than this step never finishes or stops
      • In Command Line mode, if the PHP memory ceiling is hit, the standard PHP memory allocation failure error is generated and the updater crashes
    • Workaround for low memory environments:
      • Perform a manual update
  • We traverse the datadirectory if it's located within the installation folder even though we exclude it. This happens in both createBackup and deleteOldFiles. This makes the Updater slow - and increasingly slower as file count grows. I have a working solution that needs to be polished. Separately, knce that is merged (and field tested), since the memory requirements for using iterator_to_array() will then as a bonus be limited, we can test memory usage against current Server installation folder contents and decide whether we can also address compatibility with FreeBSD NFS and some other oddball environments.

Mysterious issues

These are occasionally reported matters without any discernable cause that seem to arise in some reasonable installations. Enough to pop up from time to time, but no clear idea what %:

  • core/shipped.json is missing already when the Updater gets to deleteOldFiles()
    • Theory: manually forced reruns (i.e. .step is removed or similar to fully restart Updater run after at least once run has already gotten past this step; though not sure how really)

Ideas for improving the Updater

Ideas for refactoring for easier maintenance or readability

README

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant