Harshavardhana
10c807f233
Put object on successful write returns full metadata, to avoid subsequent GetObjectMetadata() calls in driver
10 years ago
Harshavardhana
6921328b93
Avoid frivolous GetObjectMetadata() calls at driver level, return back all the information in donut ListObjects()
10 years ago
Harshavardhana
42c0287943
Use errorChannels only for services not for drivers, reduce them to use simple functions
10 years ago
Harshavardhana
91e5f648cb
Move to Set() not Append() due to large memory reference copy
10 years ago
Harshavardhana
ac4d8fe478
Add free() method for proxyReader to aggressively de-allocate Read data, to handle certain out of memory conditions
...
There are still some more out there
10 years ago
Harshavardhana
05f8654e3d
Add Append() method to trove cache for appending data to an existing key
...
This largely avoids a large buffer copy which would accumulate inside proxyReader{}
This patch also implements "initialize()" function to init and populate data
on all the existing buckets, avoiding the redundant ListBuckets() invoked by
every API call.
10 years ago
Harshavardhana
367772b988
Make sure to populate on disk data into memory upon first API requests
10 years ago
Harshavardhana
45a7eab804
An attempt to bring in memory layer into donut driver
10 years ago
Harshavardhana
f3c25bcfc4
Keeping the lexical order same add optimizations, provide a comprehensive response from ListObjects()
10 years ago
Harshavardhana
9a4680475f
Object metadata was wrongly misconstrued to be mutable, handle it
10 years ago
Harshavardhana
3aa6d90c5e
Avoid racy maps, read from disk on success return quickly. Many more optimizations
10 years ago
Harshavardhana
68974918ac
Donut moves to typed metadata, removing the necessity for strconv, parsing and string converstions
10 years ago
Harshavardhana
fb9adb5524
Donut cleanup another set
...
- Make sure to close all readers
- Fix errors in api_testsuite c.Assert(err, IsNil) should be done right after each function call
10 years ago
Harshavardhana
82dcbf262d
Add simple locking for donut API for now - fixes #671
10 years ago
Harshavardhana
2fd52ca284
Add missing strongly typed errors for Donut
10 years ago
Harshavardhana
3bf64f5669
Verify d.donut to be non-nil, usually happens when multiple go versions compilations are linked - possible cause for #659
10 years ago
Harshavardhana
641f07cecf
Use filepath everywhere instead of path.{} functions for portability - fixes #656
10 years ago
Harshavardhana
b793f53d48
Minior change filter() to filterObjects()
10 years ago
Harshavardhana
d4e71beb54
Add time.Since on buckets created time to avoid deleting buckets spuriously during eviction of objects
10 years ago
Harshavardhana
636788997b
Minor optimization avoiding one unnecessary copy
10 years ago
Harshavardhana
64b014369c
Return back entity too large for createObject requests bigger than cache size
10 years ago
Harshavardhana
ab1976bc14
Load from persisted multipart session, now multipart uploads can resume even after restarting minio fs server
10 years ago
Harshavardhana
2976f109df
More multipart fixes, filter out parts and multipart metadata from listObjects
10 years ago
Harshavardhana
e08d59be00
Make sure to delete uploadid's from active session file properly
10 years ago
Harshavardhana
0d3710cb9b
Store in json file instead of gob for fs metadata
10 years ago
Harshavardhana
097f70a3c5
Enable filesystem for API tests, this patch also implements ListMultipartUploads()
10 years ago
Harshavardhana
bfb9209689
Skip files and weird directories from listBuckets(), allowing this so that minio fs mode can be used as ftp service
10 years ago
Harshavardhana
d86ba5f336
Implement multipart support
...
- implemented NewMultipartUpload()
- implemented CreateObjectPart()
- implemented ListObjectParts()
- implemented AbortMultipartUpload()
- implemented CompleteMultipartUpload()
10 years ago
Harshavardhana
a91e519692
Make caching a package trove, and use it inside memory driver
10 years ago
Anis Elleuch
7e5a26f42c
Protect the exported method Delete()
10 years ago
Harshavardhana
0cc63706bb
Resurrect back fileystem driver
10 years ago
Anis Elleuch
d360d0fec3
Forbid the upload of files bigger than the memory backend capacity
10 years ago
Harshavardhana
ad60b97d52
Fix some donut TODO's regarding bucket created date
10 years ago
Harshavardhana
3d61ba5930
Fix duplicate map allocation
10 years ago
Harshavardhana
e4c0d574dc
Update totalnumber of multiparts inside CreateObjectPart(), also introduce support for UploadIDMarker and Prefix for listMultipartUploads
10 years ago
Harshavardhana
5c5761ae16
Remove unnecessary GetObjectMetadata prefix argument
10 years ago
Harshavardhana
6275238a47
For multiparts use its own cache avoids deadlocks during object expiration
...
Using same object cache as regular objects for multiparts causes deadlocks during object expiration routine.
As a side affect this also fixes the bug of listing multiparts during regular 'listing' of objects.
10 years ago
Harshavardhana
c41ebf7535
Fixing a race in NewMultipartUpload() session for simultaneous requests, observed at play.minio.io
10 years ago
Harshavardhana
8fb427a892
Add more tests for multipart now in driver api_testsuite
10 years ago
Harshavardhana
1bd94ec6ab
An attempt to implement ListMultipartUploads()
10 years ago
Harshavardhana
82b043005a
Avoid one last memory copy
10 years ago
Harshavardhana
8d06504068
Change all minio-io path to minio
10 years ago
Harshavardhana
b48b7f51ef
Use convenience functions for url.Values over looping through keys, fix a bug in listObjectParts()
10 years ago
Harshavardhana
14b5828505
Handle partNumberMarker with listObjectParts now and other fixes
10 years ago
Frederick F. Kautz IV
cf559fa48e
Limiting upload id size
10 years ago
Frederick F. Kautz IV
058604aa21
Adding tests and fixes for multipart uploads uncovered from tests
10 years ago
Harshavardhana
8860aa0c8c
Implement AbortMultipart
10 years ago
Harshavardhana
18c7f620cc
Add listparts support
10 years ago
Harshavardhana
01b474fca3
Move expiration code into its own and add ticker select case
10 years ago
Harshavardhana
23a545673d
Verify incoming md5sum for invidual parts in complete multipart request and some simplification of the code
...
Add two new functions for session cleanup
10 years ago