This commit fixes the issue #47856. When you upload a file into a group folder and when you use a single S3 bucket as primary storage, the final move operation hangs for a long time. In the background, Nextcloud initiates a copy-delete sequence from the bucket into the bucket, with causes a lot unnecessary overhead. Nextcloud thinks that the file must be imported to another storage and does not recognize that everything is done on the same object bucket. In that case, the import step can be completely skipped, which saves time, network bandwidth and reduces the load on the object storage.
The behavior improves a lot with https://github.com/nextcloud/server/pull/46013. However, there are still some put messages that are being sent to the object storage when you use an object storage as primary storage and upload files into a group folder.
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
NC_ env variable overrides were not appearing in
the output of `occ config:list system` nor `occ
config:system:get xxx`. This was creating nearly
impossible to diagnose configuration/ behavior
disprepancies.
- Refactored readData() so that we aren't saving
the entire environment in the envCache anymore
(only those prefixed "NC_") and so that we save
NC_ provided config values under their real
key.
- Refactored getValue() to accommodate readData()
refactor
- Fixed getKeys() to properly return
envCache keys too
Environment provided config variables now appear
in `occ config:list system` as expected.
Environment provided config variables now appear
when queried via `occ config:system:get KEY`
envCache is now free of non-NC stuff.
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
We basically mock the way `URLGenerator::getAbsoluteURL` works,
so we must make sure that the URL might already contain the webroot.
Because `baseURL` and `cliURL` also contain the webroot we need to remove
the webroot from the URL first.
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This avoids a PHP warning in the logs about trying to set the response
code while the output already started. It’s useless to try to print an
error page anyway in this situation because the connection was closed
already.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Previously even when the precondition did not match, the call "passed"
when the after value was the expected one. This however can lead to
race conditions, duplicate code excutions and other things.
Signed-off-by: Joas Schilling <coding@schilljs.com>