Krishna Srinivas
0bae3330e8
browser: Send correct arguments for RemoveObjects web handler. ( #3848 )
...
Fixes #3839
2017-03-03 17:07:17 -08:00
Harshavardhana
05e53f1b34
api: CopyObjectPart was copying wrong offsets due to shadowing. ( #3838 )
...
startOffset was re-assigned to '0' so it would end up
copying wrong content ignoring the requested startOffset.
This also fixes the corruption issue we observed while
using docker registry.
Fixes https://github.com/docker/distribution/issues/2205
Also fixes #3842 - incorrect routing.
2017-03-03 16:32:04 -08:00
Anis Elleuch
0c8c463a63
tests: Fix web handlers testing with faulty disks ( #3845 )
2017-03-03 15:46:28 -08:00
Aditya Manthramurthy
6df7bc42b8
Fix check for bucket name: ( #3832 )
...
* Do not allow bucket names with adjacent hypen and periods.
* Improve performance by eliminating the usage of regular expressions.
2017-03-03 10:23:41 -08:00
Anis Elleuch
6c00a57a7c
quick: Add yaml format support ( #3833 )
...
quick Save() and Load() infers config file's format from
file name extension.
2017-03-03 10:22:09 -08:00
Harshavardhana
bc52d911ef
api: Increase the maximum object size limit from 5GiB to 16GiB. ( #3834 )
...
The globalMaxObjectSize limit is instilled in S3 spec perhaps
due to certain limitations on S3 infrastructure. For minio we
don't have such limitations and we can stream a larger file
instead.
So we are going to bump this limit to 16GiB.
Fixes #3825
2017-03-03 10:14:17 -08:00
Anis Elleuch
28c53a3555
obj: Make checkBucketExist() returns all errors ( #3843 )
...
This function was returning BucketNotFound for all errors
which at least hides the fact that disks could be corrupted.
This commit fixes the behavior by returning all errors that,
are, by the way, Object API errors.
2017-03-03 10:12:43 -08:00
Harshavardhana
e5d4e7aa9d
web: Validate if bucket names are reserved ( #3841 )
...
Both '.minio.sys' and 'minio' should be never allowed
to be created from web-ui and then fail to list it
by filtering them out.
Fixes #3840
2017-03-03 03:01:42 -08:00
Anis Elleuch
cddc684559
admin: Set Config returns errSet and errMsg ( #3822 )
...
There is no way to see if a node encountered an error
when trying to set a new config set, this commit adds
a bool errSet field.
2017-03-03 02:53:48 -08:00
Zejun Li
32d0d3d4ac
Enhanced newObjectLayerFn ( #3837 )
2017-03-03 01:07:45 -08:00
Bala FA
98d17d2a97
Remove globalQuiet and globalConfigDir global variables ( #3830 )
2017-03-02 14:21:30 -08:00
Bala FA
208dd15245
Remove globalMaxCacheSize and globalCacheExpiry variables ( #3826 )
...
This patch fixes below
* Remove global variables globalMaxCacheSize and globalCacheExpiry.
* Make global variables into constant in objcache package.
2017-03-02 10:34:37 -08:00
Anis Elleuch
a179fc9658
quick: Simplify Load() and CheckVersion() ( #3831 )
2017-03-02 10:29:06 -08:00
Zejun Li
d1afd16955
Using RWMutex to guard closing and listeners ( #3829 )
2017-03-02 10:00:22 -08:00
Bala FA
2348ae7a19
Make default values as constants ( #3828 )
2017-03-02 04:58:39 -08:00
Bala FA
480ea826dc
Move rlimit functions into sys package. ( #3824 )
...
This patch addresses below
* go build works for bsd family
* probe total RAM size for bsd family
* make unit testable functions
2017-03-01 21:51:57 -08:00
Aditya Manthramurthy
09e9fd745c
Close client connection after checking for release update ( #3820 )
2017-03-01 09:18:55 -08:00
Anis Elleuch
77c1998a38
config: Fix creating new config with wrong version ( #3821 )
...
Simplify a little config code to avoid making mistake
next time.
2017-03-01 09:17:04 -08:00
Krishna Srinivas
91cf54f895
web-handlers: Support removal of multiple objects at once. ( #3810 )
2017-02-28 19:07:28 -08:00
Karthic Rao
2b0ed21f08
tests: Fix test server init - cleanup ( #3806 )
2017-02-28 18:05:52 -08:00
Harshavardhana
472fa4a6ca
api: Multi object delete should be protected. ( #3814 )
...
Add missing protection from deleting multiple objects
in parallel. Currently we are deleting objects without
proper locking through this API.
This can cause significant amount of races.
2017-02-28 18:00:24 -08:00
Bala FA
097cec676a
fix: Set globalMaxCacheSize to allowable value. ( #3816 )
...
If memory resource limit and total RAM are more than 8GiB, either 50%
of memory resource limit or total RAM is set to globalMaxCacheSize.
2017-02-28 16:51:52 -08:00
Rushan
fcad4a44fd
Browser: Remove duplicate object entries while sorting ( #3813 )
2017-02-28 13:11:34 -08:00
Anis Elleuch
9b3c014bab
config: Add browser parameter ( #3807 )
...
browser new parameter receives "on" or "off" parameter which is similar
to MINIO_BROWSER
2017-02-27 14:59:53 -08:00
Krishnan Parthasarathi
c9619673fb
Implement SetConfig admin API handler. ( #3792 )
2017-02-27 11:40:27 -08:00
Anis Elleuch
dce0345f8f
Set disk to nil after write which needs quorum ( #3795 )
...
Ignore a disk which wasn't able to successfully perform an action to
avoid eventual perturbations when the disk comes back in the middle
of write change.
2017-02-26 11:58:32 -08:00
Anis Elleuch
461b2bbd37
admin: Move SetCredentials from Service to Generic ( #3805 )
...
Setting credentials doesn't belong to service management API
anymore.
2017-02-25 11:06:08 -08:00
Bala FA
69777b654e
event: use common initialization logic ( #3798 )
...
Previously creating and adding targets for each notification type was
repeated. This patch fixes it.
2017-02-24 18:27:52 -08:00
Harshavardhana
70d2cb5f4d
rpc: Remove time check for each RPC calls. ( #3804 )
...
This removal comes to avoid some redundant requirements
which are adding more problems on a production setup.
Here are the list of checks for time as they happen
- Fresh connect (during server startup) - CORRECT
- A reconnect after network disconnect - CORRECT
- For each RPC call - INCORRECT.
Verifying time for each RPC aggravates a situation
where a RPC call is rejected in a sequence of events
due to enough load on a production setup. 3 second
might not be enough time window for the call to be
initiated and received by the server.
2017-02-24 18:26:56 -08:00
Harshavardhana
cff45db1b9
cli: Use ADDRESS:PORT to clarify --address behavior ( #3803 )
...
Currently we document as IP:PORT which doesn't provide
if someone can use HOSTNAME:PORT. This is a change
to clarify this by calling it as ADDRESS:PORT which
encompasses both a HOSTNAME and an IP.
Fixes #3799
2017-02-24 14:19:20 -08:00
Harshavardhana
bcc5b6e1ef
xl: Rename getOrderedDisks as shuffleDisks appropriately. ( #3796 )
...
This PR is for readability cleanup
- getOrderedDisks as shuffleDisks
- getOrderedPartsMetadata as shufflePartsMetadata
Distribution is now a second argument instead being the
primary input argument for brevity.
Also change the usage of type casted int64(0), instead
rely on direct type reference as `var variable int64` everywhere.
2017-02-24 09:20:40 -08:00
Harshavardhana
25b5a0534f
browser: Update ui-assets and fix the copyright header. ( #3790 )
2017-02-22 17:27:26 -08:00
Rushan
52d6678bf0
Browser: Implement multi select user interface for object listings ( #3730 )
2017-02-22 14:51:38 -08:00
Nitish Tiwari
d8950ba7c5
Added server times note and fix Notes rendering for Doctor. ( #3787 )
2017-02-22 02:12:03 -08:00
Harshavardhana
cc28765025
xl/multipart: Make sure to delete temp renamed object. ( #3785 )
...
Existing objects before overwrites are renamed to
temp location in completeMultipart. We make sure
that we delete it even if subsequenty calls fail.
Additionally move verifying of parent dir is a
file earlier to fail the entire operation.
Ref #3784
2017-02-21 19:43:44 -08:00
Harshavardhana
fe86319c56
ci: For windows builds stick to go1.7.5 ( #3786 )
2017-02-21 17:24:11 -08:00
Harshavardhana
99a12613a3
update: For source builds look for absolute path. ( #3780 )
...
os.Args[0] doesn't point to absolute path we need
use exec.LookPath to find the absolute path before
sending os.Stat().
2017-02-21 01:32:05 -08:00
Nitish Tiwari
097dd7418a
Remove unused erasure diagram ( #3783 )
2017-02-20 21:01:08 -08:00
Nitish Tiwari
a7d3ea8c15
Update erasure code image ( #3782 )
2017-02-20 20:12:21 -08:00
Krishnan Parthasarathi
2745bf2f1f
Implement ServerConfig admin REST API ( #3741 )
...
Returns a valid config.json of the setup. In case of distributed
setup, it checks if quorum or more number of nodes have the same
config.json.
2017-02-20 12:58:50 -08:00
Anis Elleuch
70d825c608
doc: Small rewrite of bucket events notif intro ( #3775 )
2017-02-20 12:07:27 -08:00
Harshavardhana
6b68c0170f
For streaming signature do not save content-encoding in PutObject() ( #3776 )
...
Content-Encoding is set to "aws-chunked" which is an S3 specific
API value which is no meaning for an object. This is how S3
behaves as well for a streaming signature uploaded object.
2017-02-20 12:07:03 -08:00
Aditya Manthramurthy
0a905e1a8a
Fix rabbitmq reconnect problem ( #3778 )
2017-02-20 12:05:21 -08:00
Harshavardhana
9eb8e375c5
cli: Make sure to add --help flag for subcommands. ( #3773 )
...
--help is now back and prints properly with command
help template.
2017-02-19 20:46:06 -08:00
Harshavardhana
7ea1de8245
copyObject: Be case sensitive for windows only server. ( #3766 )
...
For case sensitive platforms we should honor case.
Fixes #3765
```
1) python s3cmd -c s3cfg_localminio put logo.png s3://testbucket/xyz/etc2/logo.PNG
2) python s3cmd -c s3cfg_localminio ls s3://testbucket/xyz/etc2/
2017-02-18 10:58 22059 s3://testbucket/xyz/etc2/logo.PNG
3) python s3cmd -c s3cfg_localminio cp s3://testbucket/xyz/etc2/logo.PNG s3://testbucket/xyz/etc2/logo.png
remote copy: 's3://testbucket/xyz/etc2/logo.PNG' -> 's3://testbucket/xyz/etc2/logo.png'
4) python s3cmd -c s3cfg_localminio ls s3://testbucket/xyz/etc2/
2017-02-18 10:58 22059 s3://testbucket/xyz/etc2/logo.PNG
2017-02-18 11:10 22059 s3://testbucket/xyz/etc2/logo.png
```
2017-02-18 13:41:59 -08:00
Anis Elleuch
54a18592e9
flags: Fix --version output ( #3772 )
2017-02-18 13:41:33 -08:00
Anis Elleuch
7e84c7427d
server-mux: Rewrite graceful shutdown mechanism ( #3771 )
...
Old code uses waitgroup Add() and Wait() in different threads,
which eventually can lead to a race.
2017-02-18 13:28:54 -08:00
Bala FA
d12f3e06b1
config-old: Use interface to avoid code repetition. ( #3769 )
2017-02-18 10:45:37 -08:00
Harshavardhana
0137ff498a
auth/rpc: Token can be concurrently edited protect it. ( #3764 )
...
Make sure we protect when we access `authToken` in authClient.
Fixes #3761
2017-02-18 03:15:42 -08:00
Harshavardhana
34d9a6b46a
Make sure client initializes to proper lock RPC path. ( #3763 )
...
Fixes a regression introduced in previous commit.
2017-02-18 02:52:11 -08:00