Harshavardhana
d5ce2f6944
Make erasure matrix type not optional choose automatically
...
Remove option of providing Technique and handling errors based on that
choose a matrix type automatically based on number of data blocks.
INTEL recommends on using cauchy for consistent invertible matrices,
while vandermonde is faster we should default to cauchy for large
data blocks.
2015-10-05 22:38:02 -07:00
Harshavardhana
4ed50a8004
Fix encoding bug in donut during encoding phase
...
Stream reading needs to check for length parameter being non zero,
after Reading() a predefined set of buffer length an EOF might be returned
with length == 0.
Erasure taking this zeroed data in might wrongly encode it as part of existing
data blocks which leads to errors while decoding even when the other contents
are intact.
2015-10-05 22:12:53 -07:00
Harshavardhana
c8de5bad2f
Implement presigned policy
2015-10-04 00:01:34 -07:00
Harshavardhana
3b070dee16
Fix an important metadata getObject bug in donut
2015-10-01 10:18:03 -07:00
Harshavardhana
45d8898019
Merge branch 'parallel-read2' of https://github.com/krishnasrinivas/minio into krishnasrinivas-parallel-read2
...
Make few more changes and rebased with current master
2015-09-15 17:33:33 -07:00
Anand Babu (AB) Periasamy
cdf93e534c
simplify probe APIs
2015-08-18 19:30:17 -07:00
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.
2015-08-08 00:16:38 -07:00
Harshavardhana
d09fd8b0a1
Migrate from iodine to probe
2015-08-03 16:33:44 -07:00
Krishna Srinivas
ee4432bc40
rename disk.OpenFile to Open which will do os.Open (which will be read-only). disk.OpenFile will do os.OpenFile (which can be rw, append)
2015-08-02 17:34:29 +05:30
Krishna Srinivas
fdd2c22fa5
Do go fmt on bucket.go
2015-07-29 23:49:25 +05:30
Krishna Srinivas
ae8089c9b6
when signature is not available there is no need to compute sha256
2015-07-29 21:09:02 +05:30
Krishna Srinivas
bdc00624fd
get erros from buffered channel. Return error during object read only if we have readers < k
2015-07-29 19:36:41 +05:30
Krishna Srinivas
e1280779ed
Read from the disks in parallel during object read
2015-07-28 18:04:17 +05:30
Harshavardhana
e082f26e10
Improving EncoderStream to return error only upon non io.EOF.
...
io.EOF is okay since io.ReadFull will not have read any bytes at all.
Also making error channel receive only for go routine.
2015-07-25 15:57:30 -07:00
Krishna Srinivas
bcfaa12a4d
Encoder now directly reads from the object stream. Using split.Stream() was causing lot of redundant memory operations.
2015-07-26 03:54:39 +05:30
Harshavardhana
63c9cf0c4b
Move from Minimalist Object Storage to Minio Cloud Storage
2015-07-24 17:51:40 -07:00
Harshavardhana
43c908d5b9
ListObjects now considers multipart objects, also move to upstream check.v1
2015-07-18 15:49:41 -07:00
Harshavardhana
c1da10a207
Donut multipart support no get, listobjects() support yet
2015-07-17 16:23:51 -07:00
Harshavardhana
e37c5315ec
Live multiple disk removal works properly
2015-07-14 20:46:14 -07:00
Harshavardhana
e1e4908515
Wire up sha512 matching inside donut along with md5sum
2015-07-14 19:47:50 -07:00
Harshavardhana
e885259584
Handle removal of disks - getObject() now reads if disks are missing underneath, add initial stub healing code
2015-07-14 18:53:00 -07:00
Harshavardhana
634f70f3b0
WriteObject() encoded data in go routine, fix another multipart issue
2015-07-13 15:56:54 -07:00
Harshavardhana
29838bb851
Cleanup temporary writers upon errors during putObject(), all metadata() write operations
2015-07-10 14:11:04 -07:00
Harshavardhana
15dd0df187
Support signature v4 at rest
2015-07-10 11:49:27 -07:00
Harshavardhana
d1deda3a96
Add API tests for both donut on disk and donut cache
2015-07-07 19:39:46 -07:00
Harshavardhana
3622fbc87d
Across donut, split, nimble some code cleanup
2015-07-06 21:55:21 -07:00
Harshavardhana
bbb89b5776
Add multi-thread protection and also allow atomic file creates, rename upon Close()
2015-07-06 18:54:32 -07:00
Harshavardhana
14844f48dd
Make donut do everything as an atomic operation, this avoids all the deadlocks and races
2015-07-03 17:16:58 -07:00
Harshavardhana
30fc14e703
Restructure codebase move crypto, checksum to top-level, move ``split`` into donut, move crypto/keys into api/auth
2015-07-03 15:24:51 -07:00
Harshavardhana
8a4e7bcdcf
Add full API tests, move storage/donut to donut, add disk tests as well
2015-07-03 14:36:29 -07:00