Harshavardhana
b4172ad3c8
Rename rpc-{client,server} storage-rpc-{client,server}
8 years ago
Harshavardhana
4917038f55
Move the ObjectAPI() resource to be beginning of each handlers.
...
We should return back proper errors so that the clients can
retry until server has been initialized.
8 years ago
Krishnan Parthasarathi
b0f3f94163
unify single-node and distributed namespace locking ( #2401 )
8 years ago
Krishnan Parthasarathi
b7c169d71d
object layer initialization using distributed locking ( #2397 )
...
* vendorized latest minio/dsync
* wip - object layer initialization using distributed locking
8 years ago
Frank
3939c75345
Added distributed RWMutex ( #2369 )
8 years ago
Krishnan Parthasarathi
e55926e8cf
distribute: Make server work with multiple remote disks
...
This change initializes rpc servers associated with disks that are
local. It makes object layer initialization on demand, namely on the
first request to the object layer.
Also adds lock RPC service vendorized minio/dsync
8 years ago
Anis Elleuch
f82f535509
Fix possible race in shutdown callbacks process and simplify shuttting down profiler ( #2684 )
8 years ago
Anis Elleuch
51e337228e
Avoid hiding disk errors in some cases in FS Shutdown ( #2668 )
8 years ago
Kevin Qiu
241c56e6d7
Use Set instead of Add in the event that the request already contains the content-length ( #2683 )
8 years ago
Aditya Manthramurthy
895471afa1
Fixes #2678 ( #2679 )
...
Refactor `ratelimit.acquire()` to properly enforce the *globalMaxConn*
limit.
8 years ago
Harshavardhana
85e2d886bc
bucketPolicy: Trim incoming paths properly for policy verification.
8 years ago
Harshavardhana
07aa02f196
build: Fix appveyor.yml to report windows coverage as well. ( #2666 )
8 years ago
Anis Elleuch
8acf4d112a
Return Owner information in ListObjectV2 only when fetch-owner is specified ( #2654 )
8 years ago
Anis Elleuch
e6abfb3b67
More tests for format-config for a better coverage ( #2655 )
8 years ago
Harshavardhana
040af08473
server: Startup message now prints configured ARNs. ( #2653 )
...
Fixes #2628
8 years ago
Harshavardhana
e3de237eb8
Move config to v7 to fix previous v6 bug on null Notification entries. ( #2650 )
...
Thanks to @koolhead17 for reporting this.
8 years ago
Anis Elleuch
11785529fc
Add Request Not Ready error when presigned date request is not valid ( #2646 )
8 years ago
Anis Elleuch
32201a18ab
Forbid requests generated at least 15 min in the past or in the future ( #2648 )
8 years ago
Anis Elleuch
421cccb1d7
Add naughty disk to simulate disk errors ( #2645 )
8 years ago
Krishna Srinivas
400e9309f1
Signature-V4: Include content-length for signature calculation. ( #2643 )
...
This is to be compatible with clients which includes content-length for signature calculation
(and hence deviating from AWS Signature-v4 spec)
8 years ago
Krishna Srinivas
a4afb312d4
S3-layer: Multiple-delete should return success for non-existent objects. ( #2633 )
...
Fixes #2630
8 years ago
Harshavardhana
afe874f15a
api: CopyObject pipe should be closed pro-actively upon error. ( #2625 )
...
Fixes a deadlock reproduced while running s3verify during
RemoveObject(). Previously held lock by GetObject() inside
the go-routine was never relenquished.
8 years ago
Harshavardhana
b291dbe9c5
s3: Fix compliance bugs reported by s3verify. ( #2624 )
...
- Fixes couple of error strings reported are mismatching.
- Fixes a error HTTP status which was wrong fixed.
- Remove usage of an deprecated PostResponse, au contraire
to their documentation there is no response body in
PostPolicy.
8 years ago
Harshavardhana
bc8f34bfe7
server/mux: Remove unused waitgroup from listenerMux. ( #2614 )
...
Change struct names to be more meaningful.
8 years ago
Harshavardhana
2dc7ecc59b
notifications: Fix bucket notifications for DeleteMultipleObjects. ( #2609 )
...
Now reports bucket notifications for DeleteMultipleObjects API.
Also deletes multiple objects in parallel.
8 years ago
Hugo Jobling
600551feb9
Make export directory an exposed volume ( #2610 )
...
This exposes the /export directory, making it possible to mount it from other
containers. It also makes it possible to bind a local folder to the internal /export
mount point using the native Docker for Mac/Windows and Kinematic.
8 years ago
Harshavardhana
7398d737b5
profiler: Fix it properly and generate/save profiles even failure situations. ( #2607 )
...
Fixes #2594
8 years ago
Harshavardhana
bf62ba57cf
docs: Update minimum drives in erasure docs.
8 years ago
Harshavardhana
511a8cbe04
profiler: Fix how we generate profiles. ( #2596 )
...
Fixes #2594
8 years ago
koolhead17
790ad68d4d
Doc: Fixed Minio install steps from source. ( #2590 )
8 years ago
Anis Elleuch
e79d2381fc
Fix rare 'go test -race' failure in ListenServe{Plain,TLS} ( #2588 )
8 years ago
Krishna Srinivas
a3b4199e9b
FS/Multipart: Allow for parallel uploads of parts with same part number. ( #2587 )
...
CBL client does not close connection when the backup process is stopped, this causes
read() on the stream on the server side to block and hence the lock held on the part
is not released. When the backup process is restarted, we again try to lock on the
part and this will block. Using a unique tmp name and not locking it fixes the problem.
8 years ago
Krishna Srinivas
3aa0574c6b
FS/multipart: Append the parts to a file as and when the parts arrive. ( #2513 )
8 years ago
Andrew Stone
3118195e92
docker: Minimize image size ( #2585 )
...
This takes the image size from 823.1MB (current edge) to 281.8MB.
The following steps are taken:
0) Use go-alpine for a much smaller base image
1) Perform all actions in 1 step to eliminate diff images
2) Remove unused files created after setup
8 years ago
Harshavardhana
5716f1c199
Fix incorrect error strings. ( #2580 )
8 years ago
Harshavardhana
2020afd200
server: http.Server do not add deadlines causes issues. ( #2581 )
...
Adding deadlines is a no go since Golang doesn't back off
the timers if there is an active i/o in progress.
It is meant to be for applications to handle this themselves
and manually progress the deadlines.
Fixes #2561
8 years ago
Bala FA
7431acb2c4
web: add handlers for set/get bucket policy. ( #2486 )
...
Refer #1858
8 years ago
Harshavardhana
2f9975c76c
notifications: GetObjectInfo() later if bucket notifications are set. ( #2575 )
8 years ago
Dee Koder
d9bd73f4e8
docs: Simplified install instructions for home-brew. ( #2571 )
8 years ago
koolhead17
8484d1c0ca
Doc: Modified README.md to add brew package manager install steps. ( #2557 )
8 years ago
Harshavardhana
7270ca4157
pkg/wildcard: Simplify the wildcard logic further. ( #2555 )
8 years ago
Brendan Ashworth
b67c8970c9
bucket-handlers: fix missing return statement ( #2553 )
...
If the location was invalid, it would write an error response but then
continue to attempt to make the bucket. Whether or not it would succeed,
it would attempt to call response.WriteHeaders twice in a row, which
would cause a message to be logged to the server console (bad).
Here is the relevant Go code:
c80e0d374b/src/net/http/server.go (L878-L881)
8 years ago
Mohit Agarwal
418921de89
minor cleanup
...
- Reused contains() from utils.go at a couple of places
- Cleanup in return statements and boolean checks
8 years ago
Harshavardhana
ec4260d260
api: BucketNotification should disallow duplicate notification. ( #2539 )
...
Added checks to look for duplicated notification configs.
Fixes #2472
8 years ago
Harshavardhana
c39d3db7a0
server/tls: allocate tls.Config{} properly. ( #2537 )
...
There is a golang bug which crashes the server, allocate tls.Config properly to avoid
this problem.
```
2016/08/22 20:21:03 http: panic serving 127.0.0.1:40744: runtime error: invalid memory address or nil pointer dereference
goroutine 38 [running]:
net/http.(*conn).serve.func1(0xc820526680)
/home/harsha/.gimme/versions/go1.6.2.linux.amd64/src/net/http/server.go:1389 +0xc1
panic(0xbefa80, 0xc820010140)
/home/harsha/.gimme/versions/go1.6.2.linux.amd64/src/runtime/panic.go:443 +0x4e9
crypto/tls.(*Conn).serverHandshake(0xc820368300, 0x0, 0x0)
/home/harsha/.gimme/versions/go1.6.2.linux.amd64/src/crypto/tls/handshake_server.go:43 +0x4d6
crypto/tls.(*Conn).Handshake(0xc820368300, 0x0, 0x0)
/home/harsha/.gimme/versions/go1.6.2.linux.amd64/src/crypto/tls/conn.go:1035 +0x169
net/http.(*conn).serve(0xc820526680)
/home/harsha/.gimme/versions/go1.6.2.linux.amd64/src/net/http/server.go:1405 +0x382
created by net/http.(*Server).Serve
/home/harsha/.gimme/versions/go1.6.2.linux.amd64/src/net/http/server.go:2137 +0x44e
```
Fixes #2536
8 years ago
Harshavardhana
2da0cfc904
signature: Use the client sent region if region is properly validated. ( #2534 )
...
A properly validated region string from the client should be once
validated properly.
Fixes #2521
8 years ago
Harshavardhana
9dd0e3dc44
config: Initialize notify for fresh configs. ( #2531 )
8 years ago
Dee Koder
4722c94653
typo: Fix capitalization in heading. ( #2529 )
8 years ago
Krishna Srinivas
45c928e2f5
boot: checkPortAvailability() should fail only for EADDRINUSE error and ignore other errors. ( #2527 )
...
fixes #2510
8 years ago
Anis Elleuch
07506358ff
Refactor Heal RPC and add Shutdown RPC ( #2488 )
8 years ago