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
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
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
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
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
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
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
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
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
Harshavardhana
50b4e54a75
fs: Do not return reservedBucket names in ListBuckets() ( #3754 )
...
Make sure to skip reserved bucket names in `ListBuckets()`
current code didn't skip this properly and also generalize
this behavior for both XL and FS.
2017-02-16 14:52:14 -08:00
Harshavardhana
271e3ecde5
Fix tests from cli changes
2017-02-15 18:05:55 -08:00
Harshavardhana
611bd68739
cli: Add new features from CLI.
...
use `.HelpName` for template to pass down
proper command names. Also treat flags
to be optional in all of them.
2017-02-15 17:45:11 -08:00
Harshavardhana
25eeb88a8f
cli: Bring upstream changes to minio server.
2017-02-15 17:30:31 -08:00
Anis Elleuch
7f86a21317
admin: Add ServerInfo API() ( #3743 )
2017-02-15 10:45:45 -08:00
Harshavardhana
fb39c7c26b
sRPC/client: Properly trim storageRPCPath for actual disk path. ( #3749 )
...
Never print internal RPC endpoint paths.
2017-02-15 03:47:47 -08:00
Harshavardhana
13c3b9cbcb
main/cli: Don't print hidden flags/commands in help template. ( #3748 )
...
Always use .VisibleFlags and .VisibleCommands to not print
Hidden flags as expected from help template.
2017-02-15 02:25:38 -08:00
Bala FA
602dac8773
mainUpdate: refactor to handle quiet flag properly ( #3744 )
2017-02-15 00:31:00 -08:00
Bala FA
a53b909fcd
mainVersion: Remove minio init and quiet handling ( #3739 )
2017-02-13 00:24:34 -08:00
Harshavardhana
22909c849e
objcache: Return io.ReaderAt to avoid Seeking and Reading. ( #3735 )
2017-02-11 17:17:58 -08:00
Bala FA
440866d26c
Move go version check into main() ( #3734 )
...
Previously the check was done in init(). This patch moves into main
for unit testable friendly function.
2017-02-11 01:27:27 -08:00
Krishna Srinivas
25b936c369
browser: Implement infinite scrolling for object listing. ( #3720 )
...
fixes #2831
2017-02-10 22:54:42 -08:00