Harshavardhana
45b59b8456
Probe revamped to provide for a new WrappedError struct to wrap probes as error interface
...
This convenience was necessary to be used for golang library functions like io.Copy and io.Pipe
where we shouldn't be writing proxies and alternatives returning *probe.Error
This change also brings more changes across code base for clear separation regarding where an error
interface should be passed encapsulating *probe.Error and where it should be used as is.
9 years ago
Harshavardhana
d09fd8b0a1
Migrate from iodine to probe
9 years ago
Krishna Srinivas
bcfaa12a4d
Encoder now directly reads from the object stream. Using split.Stream() was causing lot of redundant memory operations.
9 years ago
Harshavardhana
63c9cf0c4b
Move from Minimalist Object Storage to Minio Cloud Storage
9 years ago
Harshavardhana
c1da10a207
Donut multipart support no get, listobjects() support yet
9 years ago
Harshavardhana
45ddec925c
Fix an ugly multipart bug
9 years ago
Harshavardhana
7ae60a6d10
For missing parts reply back as InvalidPart{}
9 years ago
Harshavardhana
634f70f3b0
WriteObject() encoded data in go routine, fix another multipart issue
9 years ago
Harshavardhana
29838bb851
Cleanup temporary writers upon errors during putObject(), all metadata() write operations
9 years ago
Harshavardhana
84f427f14a
All other API's now support signature v4
9 years ago
Harshavardhana
00890c254e
CompleteMultipartUpload and CreateObjectPart now fully support signature v4
9 years ago
Harshavardhana
89c1215194
PutObject handler gets initial support for signature v4, working
9 years ago
Harshavardhana
375860077d
HTTP header Content-Length signifies body length of the request, if its smaller reply appropriately
...
This patch also handles large individual part sizes > 5MB by using less memory copies.
9 years ago
Harshavardhana
b029d0a5f0
Avoid config reload all the time, reload is manually triggerred from outside
10 years ago
Harshavardhana
10b082144e
Add updateConfig code to load config changes if possible for every function
10 years ago
Harshavardhana
4a27ab0e58
Fix another deadlock inside CreateObjectPart() code, premature return without Unlocking()
...
Also this patch changes the cache key element to be interface{} type not string.
10 years ago
Harshavardhana
bab4a47525
Move to container/list datastructure from map[string][]byte
10 years ago
Harshavardhana
0a827305ad
Implement metadata cache, metadata cache is used by top level donut right now. Rename trove as data cache
...
We should use it internally everywhere.
10 years ago
Harshavardhana
14844f48dd
Make donut do everything as an atomic operation, this avoids all the deadlocks and races
10 years ago
Harshavardhana
8a4e7bcdcf
Add full API tests, move storage/donut to donut, add disk tests as well
10 years ago
Harshavardhana
7c37e9d06a
Make donut fully integrated back into API handlers
10 years ago
Harshavardhana
bce93c1b3a
Integrate cache with donut, add tests
10 years ago
Harshavardhana
335c7827eb
More donut, cache, api cleanup
10 years ago
Harshavardhana
dc0df3dc0e
Breakaway from driver model, move cache into donut
10 years ago
Harshavardhana
12de98fb62
Rename memory driver as cache
10 years ago
Harshavardhana
636788997b
Minor optimization avoiding one unnecessary copy
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
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
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
7fd1cc073c
Add everything back into one project hood, still missing iodine
10 years ago
Frederick F. Kautz IV
6241c9880b
Moving object storage drivers back to minio
10 years ago