1
0
mirror of https://github.com/minio/minio.git synced 2025-03-19 02:08:28 -04:00

129 Commits

Author SHA1 Message Date
Harshavardhana
4de6b15fca vet: Fix all the go vet complaints ()
```
go tool vet -atomic -bool -copylocks -nilfunc \
   -printf -shadow -rangeloops -unreachable \
   -unsafeptr -unusedresult cmd/
```
2017-04-01 01:06:06 -07:00
Harshavardhana
f1015a5096 notifiers: Stop using url.Parse in validating address format. ()
url.Parse() wrongly parses an address of format "address:port"
which is fixed in go1.8.  This inculcates a breaking change
on our end. We should fix this wrong usage everywhere so that
migrating to go1.8 eventually becomes smoother.
2017-03-31 04:47:40 -07:00
Anis Elleuch
9d6e226692 heal: Set truncate when no more walk entries () 2017-03-20 15:31:25 -07:00
Bala FA
1c97dcb10a Add UTCNow() function. ()
This patch adds UTCNow() function which returns current UTC time.

This is equivalent of UTCNow() == time.Now().UTC()
2017-03-18 11:28:41 -07:00
Krishnan Parthasarathi
c192e5c9b2 Implement heal-upload admin API ()
This API is meant for administrative tools like mc-admin to heal an
ongoing multipart upload on a Minio server.  N B This set of admin
APIs apply only for Minio servers.

`github.com/minio/minio/pkg/madmin` provides a go SDK for this (and
other admin) operations.  Specifically,

  func HealUpload(bucket, object, uploadID string, dryRun bool) error

Sample admin API request:
POST
/?heal&bucket=mybucket&object=myobject&upload-id=myuploadID&dry-run
- Header(s): ["x-minio-operation"] = "upload"

Notes:
- bucket, object and upload-id are mandatory query parameters
- if dry-run is set, API returns success if all parameters passed are
  valid.
2017-03-17 09:25:49 -07:00
Krishnan Parthasarathi
051f9bb5c6 Implement list uploads heal admin API () 2017-03-16 00:15:06 -07:00
Harshavardhana
47ac410ab0 Code cleanup - simplify server side code. ()
Fix all the issues reported by `gosimple` tool.
2017-03-08 10:00:47 -08:00
Harshavardhana
bc52d911ef api: Increase the maximum object size limit from 5GiB to 16GiB. ()
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 
2017-03-03 10:14:17 -08:00
Anis Elleuch
cddc684559 admin: Set Config returns errSet and errMsg ()
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
Krishnan Parthasarathi
c9619673fb Implement SetConfig admin API handler. () 2017-02-27 11:40:27 -08:00
Krishnan Parthasarathi
2745bf2f1f Implement ServerConfig admin REST API ()
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
9df01035da Remove XL references in public docs to Erasure. ()
Ref 
2017-02-09 23:26:44 -08:00
Krishnan Parthasarathi
ce9aa2f2b2 Add uptime to ServiceStatus () 2017-02-08 00:13:02 -08:00
Harshavardhana
31dff87903 Honor envs properly for access and secret key. ()
Also changes the behavior of `secretKeyHash` which is
not necessary to be sent over the network, each node
has its own secretKeyHash to validate.

Fixes 
Partial(fix)  (More changes needed with some code cleanup)
2017-02-07 12:51:43 -08:00
Krishnan Parthasarathi
0472e5c1e1 Change query param name to duration in list/clear locks API ()
Following is a sample list lock API request schematic,

  /?lock&bucket=mybucket&prefix=myprefix&duration=holdDuration
  x-minio-operation: list

The response would contain the list of locks held on mybucket matching
myprefix for a duration longer than holdDuration.
2017-02-01 11:17:30 -08:00
Harshavardhana
85f2b74cfd jwt: Cache the bcrypt password hash. ()
Creds don't require secretKeyHash to be calculated
everytime, cache it instead and re-use.

This is an optimization for bcrypt.

Relevant results from the benchmark done locally, negative
value means improvement in this scenario.

```
benchmark                       old ns/op     new ns/op     delta
BenchmarkAuthenticateNode-4     160590992     80125647      -50.11%
BenchmarkAuthenticateWeb-4      160556692     80432144      -49.90%

benchmark                       old allocs     new allocs     delta
BenchmarkAuthenticateNode-4     87             75             -13.79%
BenchmarkAuthenticateWeb-4      87             75             -13.79%

benchmark                       old bytes     new bytes     delta
BenchmarkAuthenticateNode-4     15222         9785          -35.72%
BenchmarkAuthenticateWeb-4      15222         9785          -35.72%
```
2017-01-26 16:51:51 -08:00
Anis Elleuch
fc880f9b23 admin: Enhance set credentials test ()
Add more test cases and ignore access and secret keys set from the env
2017-01-24 08:08:36 -08:00
Anis Elleuch
d1d89116f1 admin: Add version to service Status API response ()
Add server's version field to service status API:

"version":{
	"version":"DEVELOPMENT.GOGET",
	"commitID":"DEVELOPMENT.GOGET"
}
2017-01-23 08:56:06 -08:00
Krishnan Parthasarathi
586058f079 Implement mgmt REST APIs to heal storage format. ()
* Implement heal format REST API handler
* Implement admin peer rpc handler to re-initialize storage
* Implement HealFormat API in pkg/madmin
* Update pkg/madmin API.md to incl. HealFormat
* Added unit tests for ReInitDisks rpc handler and HealFormatHandler
2017-01-23 00:32:55 -08:00
Anis Elleuch
0715032598 heal: Add ListBucketsHeal object API ()
ListBucketsHeal will list which buckets that need to be healed:
  * ListBucketsHeal() (buckets []BucketInfo, err error)
2017-01-19 09:34:18 -08:00
Harshavardhana
62f8343879 Add constants for commonly used values. ()
This is a consolidation effort, avoiding usage
of naked strings in codebase. Whenever possible
use constants which can be repurposed elsewhere.

This also fixes `goconst ./...` reported issues.
2017-01-18 12:24:34 -08:00
Anis Elleuch
f803bb4b3d admin: Add service Set Credentials API () 2017-01-17 14:25:59 -08:00
Krishnan Parthasarathi
c194b9f5f1 Implement mgmt REST APIs for heal subcommands ()
The heal APIs supported in this change are,
- listing of objects to be healed.
- healing a bucket.
- healing an object.
2017-01-17 10:02:58 -08:00
Harshavardhana
1c699d8d3f fs: Re-implement object layer to remember the fd ()
This patch re-writes FS backend to support shared backend sharing locks for safe concurrent access across multiple servers.
2017-01-16 17:05:00 -08:00
Harshavardhana
caecd75a2a Deprecate and remove service stop API. ()
Fixes 
2017-01-14 14:48:52 -08:00
Karthic Rao
2f4a7483ea Test Function to reset globals. ()
- Adding reset functions for important global variables.
- Using them in tests.
2017-01-07 11:27:01 -08:00
Krishnan Parthasarathi
c8f57133a4 Implement list, clear locks REST API w/ pkg/madmin support ()
* Filter lock info based on bucket, prefix and time since lock was held
* Implement list and clear locks REST API
* madmin: Add list and clear locks API
* locks: Clear locks matching bucket, prefix, relTime.
* Gather lock information across nodes for both list and clear locks admin REST API.
* docs: Add lock API to management APIs
2017-01-03 23:39:22 -08:00
Bala FA
e8ce3b64ed Generate and use access/secret keys properly () 2016-12-26 10:21:23 -08:00
Krishnan Parthasarathi
b2f920a868 Add service API handler stubs for status, stop and restart () 2016-12-15 22:26:15 -08:00