aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/ObjectStore
Commit message (Collapse)AuthorAgeFilesLines
* fix(s3): treat empty sse_c_key as not setfeat/s3/sse-cRichard Steinmetz2025-01-281-1/+1
| | | | | Co-authored-by: Christian Becker <christian@dabecka.de> Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
* fix: Harden files scanner for invalid null accessFerdinand Thiessen2025-01-281-2/+2
| | | | | | Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de> Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com> Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* chore: cleanup leftover debug statements3-disable-multipart-remove-debugRobin Appelman2024-12-091-1/+0
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: get object size from stream where possibleRobin Appelman2024-12-051-0/+8
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: don't perform the extra buffering in s3 stream write when the stream ↵Robin Appelman2024-12-051-10/+23
| | | | | | size is known Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: use php://temp instead of php://memory for multi-part upload bufferRobin Appelman2024-12-051-1/+1
| | | | | | this should reduce potential memory issues if the limit is set very high Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: throw correct exception type when we can't verify if an s3 bucket existsRobin Appelman2024-11-261-4/+5
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* refactor(Storage): Align all Storage constructorsrefactor/storage/constructorsprovokateurin2024-10-235-23/+23
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* refactor(Storage): Make all parameter types strong typesprovokateurin2024-10-072-34/+26
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* fix: rework move into object store to better preserve fileidsreadd-object-store-phpunitRobin Appelman2024-09-271-19/+55
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: preserve fileid when moving from objectstore to non-objectstoreRobin Appelman2024-09-271-2/+11
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix: ensure source folder is removed from cache when moving to objectstoreRobin Appelman2024-09-271-0/+1
| | | | | | otherwise this causes confusion down the line as it's contents will be moved to the new cache Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix(Storage): Fix IStorage return typesprovokateurin2024-09-261-25/+18
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* 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>