aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/ObjectStore
Commit message (Collapse)AuthorAgeFilesLines
* perf: reuse cache info we already have when moving to object storeobject-store-move-dbRobin Appelman2024-09-191-2/+2
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* chore(deps): Update nextcloud/coding-standard to v1.3.1provokateurin2024-09-192-6/+6
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* fix: ensure parent folder exists when writing a file to object storageRobin Appelman2024-09-181-0/+4
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: fix object store id for test object storeRobin Appelman2024-09-181-2/+2
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: cleanup objectstore file_put_contentRobin Appelman2024-09-181-7/+4
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: create intermediate directories for objectstore moveFromStorageRobin Appelman2024-09-181-0/+1
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: get source file before moving the cache item in objectstore moveFromStorageRobin Appelman2024-09-181-1/+5
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #47986 from cfiehe/fix_move_on_same_bucketStephan Orbaugh2024-09-171-0/+5
|\ | | | | perf(ObjectStoreStorage): Improve (slow) move on same object bucket
| * perf(ObjectStoreStorage): Improve (slow) move on same object bucketChristoph Fiehe2024-09-161-0/+5
| | | | | | | | | | | | | | | | | | 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>
* | fix(Storage): Fix method docs inheritancefix/storage/method-docs-inheritanceprovokateurin2024-09-171-4/+0
| | | | | | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* | fix(Storage): Document getOwner() can return falseprovokateurin2024-09-171-7/+1
| | | | | | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* | chore: Fix psalm issues, put back private versions of getter in private ↵Côme Chilliet2024-09-161-0/+1
|/ | | | | | Storage interface Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* fix(S3ConfigTrait): Allow proxy field to take falsefix/s3configtrait/proxy-falseprovokateurin2024-09-151-1/+1
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* fix: make swift connect exception message more informativeRobin Appelman2024-09-091-4/+4
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #46013 from ↵Julius Härtl2024-08-261-0/+25
|\ | | | | | | | | nextcloud/obj-store-move-from-storage-preserve-fileid fix: write object to the correct urn when moving from another storage to object store
| * fix: write object to the correct urn when moving from another storage to ↵Robin Appelman2024-08-231-0/+25
| | | | | | | | | | | | object store Signed-off-by: Robin Appelman <robin@icewind.nl>
* | style: update codestyle for coding-standard 1.2.3Daniel Kesselberg2024-08-256-17/+17
|/ | | | Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
* fix(s3): Don't wait indefinitely for S3 to returnGit'Fellow2024-07-051-29/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: lint Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: use AwsException Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: Throw on connection failure Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: Wrap all in try catch block Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: use RequestTimeout error message Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> log: use OCP Server class Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: Handle connect timeout only Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> fix: Handle errors more generically Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
* fix(S3): Adjust usage of guzzle promiseFerdinand Thiessen2024-06-162-3/+3
| | | | | | `Promise\promise_for` was deprecated and is now removed and replaced with the static API (`Create::promiseFor`). Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(ObjectStore): handle empty S3 hostnameJosh2024-06-121-1/+1
| | | | | | | | Fixes #45637 The support for s3-accelerate added in #44496 introduced a regression in AWS S3 environments when `hostname` is blank (which is a valid configuration w/ AWS since the hostname gets auto-generated). Signed-off-by: Josh <josh.t.richards@gmail.com>
* chore: Add SPDX headerAndy Scherzinger2024-05-2415-331/+41
| | | | Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
* feat: add option to enable s3 accelerationRobin Appelman2024-04-261-1/+16
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix(openstack): Fix psalm issue with updated openstack versionJoas Schilling2024-04-241-1/+4
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* fix: Apply new coding standard to all filesCôme Chilliet2024-04-025-8/+8
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* fix(S3): Adjust typing for 32bit compatibilityFerdinand Thiessen2024-03-261-3/+6
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* feat(ObjectStore): Make S3 MultipartUpload concurrency configurableFerdinand Thiessen2024-03-213-3/+9
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(ObjectStore): Use common S3 trait so config and connection trait members ↵Ferdinand Thiessen2024-03-213-30/+56
| | | | | | are in sync Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* Revert "don't perform an explicit setup when using the file cache"Joas Schilling2024-03-071-8/+0
|
* Merge pull request #32163 from nextcloud/file-cache-gc-no-full-setupJohn Molakvoæ2024-03-071-0/+8
|\ | | | | don't perform an explicit setup when using the file cache
| * fix: fix user folder initRobin Appelman2024-03-061-0/+8
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | fix: disable the internal s3sdk multi part copy logicRobin Appelman2024-03-061-1/+2
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* chore: Migrate away from OC::$server->getLoggerCôme Chilliet2024-02-131-33/+54
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* refactor(objectstorage): cleanup typesThomas Citharel2024-02-023-15/+21
| | | | Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* refactor(objectstorage): move $user property from ObjectStoreStorage class ↵Thomas Citharel2024-02-022-14/+6
| | | | | | to HomeObjectStoreStorage Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* fix(objectstorage): cleanup HomeObjectStoreStorageThomas Citharel2024-02-021-8/+4
| | | | | | Fix invalid signature for getUser() method and change occurences of OC\User\User for OCP\IUser Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* also updated parent etags when a changed etag is detected during scanningRobin Appelman2024-01-311-1/+1
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix(s3): Add config option to disable multipart copy for certain s3 providersJulius Härtl2023-12-282-1/+4
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* only do a multipart s3 copy when above the regular copy limitRobin Appelman2023-12-282-11/+23
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix(ObjectStore): Make copying behavior consistent with local storageFerdinand Thiessen2023-11-171-0/+7
| | | | | | Drop file permissions on copy like we do on local storage. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(s3): support SSE-C headers for the MultipartCopy callTobias Zimmerer2023-11-141-1/+7
| | | | Signed-off-by: Tobias Zimmerer <3228193+ir0nhide@users.noreply.github.com>
* Convert isset ternary to null coalescing operatorHamid Dehnavi2023-09-281-1/+1
| | | | Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
* Merge pull request #40501 from nextcloud/fix/fix-int-size-in-files-scannerCôme Chilliet2023-09-251-1/+1
|\ | | | | Store size in int|float for 32bit support
| * Store size in int|float for 32bit supportCôme Chilliet2023-09-191-1/+1
| | | | | | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* | use multipart copy for s3Robin Appelman2023-09-201-4/+12
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: Only store unencrypted_size if path should be encryptedJulius Härtl2023-09-061-0/+2
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Merge pull request #39863 from nextcloud/sharing-mask-wrapperRobin Appelman2023-09-041-1/+2
|\ | | | | move share permission logic to storage wrapper
| * more share permission logic to storage wrapperRobin Appelman2023-08-141-1/+2
| | | | | | | | | | | | this way we only have to determine the share permissions once Signed-off-by: Robin Appelman <robin@icewind.nl>
* | fix(s3): fix handling verify_bucket_exists parameterThomas Citharel2023-08-311-1/+1
|/ | | | | | | | If 'verify_bucket_exists' is set to false in the config.php s3 configuration, it's supposed to avoid verifying that the bucket exists. However empty(falsy) will always return true, so this condition would not work. Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* fix(s3): add SSE-C parameters to headObject callTobias Zimmerer2023-07-301-1/+1
| | | | Signed-off-by: Tobias Zimmerer <3228193+ir0nhide@users.noreply.github.com>
* Merge pull request #38934 from nextcloud/bugfix/noid/ssec-multipartJulius Härtl2023-07-201-5/+5
|\