Harshavardhana
61175ef091
Migrate to govendor to avoid limitations of godep
...
- over the course of a project history every maintainer needs to update
its dependency packages, the problem essentially with godep is manipulating
GOPATH - this manipulation leads to static objects created at different locations
which end up conflicting with the overall functionality of golang.
This also leads to broken builds. There is no easier way out of this other than
asking developers to do 'godep restore' all the time. Which perhaps as a practice
doesn't sound like a clean solution. On the other hand 'godep restore' has its own
set of problems.
- govendor is a right tool but a stop gap tool until we wait for golangs official
1.5 version which fixes this vendoring issue once and for all.
- govendor provides consistency in terms of how import paths should be handled unlike
manipulation GOPATH.
This has advantages
- no more compiled objects being referenced in GOPATH and build time GOPATH
manging which leads to conflicts.
- proper import paths referencing the exact package a project is dependent on.
govendor is simple and provides the minimal necessary tooling to achieve this.
For now this is the right solution.
9 years ago
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
f8141493bd
use command not found helper
9 years ago
Harshavardhana
d09fd8b0a1
Migrate from iodine to probe
9 years ago
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)
9 years ago
Krishna Srinivas
fdd2c22fa5
Do go fmt on bucket.go
9 years ago
Krishna Srinivas
ae8089c9b6
when signature is not available there is no need to compute sha256
9 years ago
Harshavardhana
d346250f1c
Collapse GetPartialObject() into GetObject()
9 years ago
Harshavardhana
b0ea64a04f
Strip off quotes from ETag for verifying complete multipart upload
9 years ago
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.
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
d6a0e0cc55
Rename more
9 years ago
Harshavardhana
63c9cf0c4b
Move from Minimalist Object Storage to Minio Cloud Storage
9 years ago
Harshavardhana
43c908d5b9
ListObjects now considers multipart objects, also move to upstream check.v1
10 years ago
Harshavardhana
966786c78e
remove unnecessary updateAt()
10 years ago
Harshavardhana
c1da10a207
Donut multipart support no get, listobjects() support yet
10 years ago
Harshavardhana
5507a39840
Heal buckets upon init if needed, adding new disks and HUP works
10 years ago
Harshavardhana
6baf45e360
Fix a crash during listObjects() populating NextMarker
10 years ago
Harshavardhana
2553654e24
Add initial version of heal, remove rebalance
10 years ago
Harshavardhana
e37c5315ec
Live multiple disk removal works properly
10 years ago
Harshavardhana
e1e4908515
Wire up sha512 matching inside donut along with md5sum
10 years ago
Harshavardhana
e885259584
Handle removal of disks - getObject() now reads if disks are missing underneath, add initial stub healing code
10 years ago
Harshavardhana
da8b9fd112
Remove global custom config path variables, use get/set methods instead
10 years ago
Harshavardhana
c4cf7635bf
Read req.Body for PutBucket() if any
10 years ago
Harshavardhana
45ddec925c
Fix an ugly multipart bug
10 years ago
Harshavardhana
7ae60a6d10
For missing parts reply back as InvalidPart{}
10 years ago
Harshavardhana
634f70f3b0
WriteObject() encoded data in go routine, fix another multipart issue
10 years ago
Nate Rosenblum
ec347f96fd
Fix OS X build
...
- Explicitly cast statfs_t members to int64 (this structure is
platform-specific)
- Add pass-through New methods to Darwin SHA package
- Move scsi pkg types to common translation unit (package was empty)
- Add stub implementations mount/disk ops for OS X
10 years ago
Harshavardhana
55e4d0c6a5
mkdonut now creates a donut processing cli args
10 years ago
Harshavardhana
97d4a27c7e
Do not reply on ignoredHeaders for server, rely on SignedHeaders sent as part of Authorization header
10 years ago
Harshavardhana
53f5d2c32b
nodejs http library sends Connection header during HTTP request, this clobbers up the signature handling ignore it
10 years ago
Harshavardhana
29838bb851
Cleanup temporary writers upon errors during putObject(), all metadata() write operations
10 years ago
Harshavardhana
15dd0df187
Support signature v4 at rest
10 years ago
Harshavardhana
e5006c738d
Handle both space and non-space characters, in signature v4 - add errors for all API's
10 years ago
Harshavardhana
84f427f14a
All other API's now support signature v4
10 years ago
Harshavardhana
00890c254e
CompleteMultipartUpload and CreateObjectPart now fully support signature v4
10 years ago
Harshavardhana
89c1215194
PutObject handler gets initial support for signature v4, working
10 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.
10 years ago
Harshavardhana
ec33d79d57
Add server side signaturev4 check, not wired up to the readers yet.
10 years ago
Harshavardhana
d1deda3a96
Add API tests for both donut on disk and donut cache
10 years ago
Harshavardhana
8abb96c030
If NodeDisks are not empty do not impose cache maxSize restriction
10 years ago
Harshavardhana
11b893804c
Moving os.MkdirAll() inside atomic for auto parent directory creates
10 years ago
Harshavardhana
52cd23ad9f
Move atomic file writes into its own package, use them inside quick and disk packages
10 years ago
Harshavardhana
3622fbc87d
Across donut, split, nimble some code cleanup
10 years ago
Harshavardhana
bbb89b5776
Add multi-thread protection and also allow atomic file creates, rename upon Close()
10 years ago
Harshavardhana
b029d0a5f0
Avoid config reload all the time, reload is manually triggerred from outside
10 years ago
Harshavardhana
8b94c53345
Fix issues with multipart upload
10 years ago
Harshavardhana
1d64e4b6c1
Add Donut rpc service for sending changes to configuration files
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