Harshavardhana
ae936a0147
XL: Relax write quorum further to N/2 + 1. ( #2018 )
...
This changes behavior in some parts of the code
as well address it.
Fixes #2016
2016-06-29 02:10:40 -07:00
Harshavardhana
d484157d67
XL/bitrot: Migrate to new blake2b-simd SIMD optimized implementation. ( #2031 )
...
Thanks for Frank Wessels <fwessels@xs4all.nl> for all the heavy lifting work.
Comparative benchmarks are as below.
```
benchmark old ns/op new ns/op delta
BenchmarkHash64-4 742 411 -44.61%
BenchmarkHash128-4 681 346 -49.19%
BenchmarkWrite1K-4 4239 1497 -64.69%
BenchmarkWrite8K-4 33633 11514 -65.77%
BenchmarkWrite32K-4 134091 45947 -65.73%
BenchmarkWrite128K-4 537976 183643 -65.86%
benchmark old MB/s new MB/s speedup
BenchmarkHash64-4 86.18 155.51 1.80x
BenchmarkHash128-4 187.96 369.10 1.96x
BenchmarkWrite1K-4 241.55 683.87 2.83x
BenchmarkWrite8K-4 3897.06 11383.41 2.92x
BenchmarkWrite32K-4 977.48 2852.63 2.92x
BenchmarkWrite128K-4 243.64 713.73 2.93x
```
Fixes #2030
2016-06-29 02:06:35 -07:00
Harshavardhana
796fe165c7
server: Minor command line doc change for XL. ( #2022 )
2016-06-29 02:05:57 -07:00
Harshavardhana
3ac39ff107
XL: Change minimum disks supported to 6 now. ( #2023 )
...
This change co-incides with another patch set which
reduces the writeQuorum requirement. With the
write quorum change it is now possible to support
6 disk configuration.
2016-06-29 02:05:29 -07:00
Krishnan Parthasarathi
b6b9e88e47
Added unit-tests for treeWalkPool ( #1969 )
...
* Added unit-tests for treeWalkPool
* Added unit tests for tree-walk-fs
* Added period at the end of all comments.
* FS/XL: Unified tree walk tests for both backends
* Added disk failure related tests for treewalk
Replaced removeRandomDisks with removeDiskN. There is no need to
randomize disks that fail while the distribution of chunks in XL during
erasure coding data is random.
2016-06-28 22:32:00 -07:00
karthic rao
59366d8f4c
Benchmarks for ObjectLayer.PutObject() ( #2029 )
2016-06-28 22:12:36 -07:00
Harshavardhana
748dc80047
API: add writePartTooSmallErrorResponse to extend standard error responses. ( #2005 )
...
This function is added to extend the standard error responses.
Which is needed in some cases for example CompleteMultipartUpload
should respond with ErrPartTooSmall error when parts uploaded are
lesser than 5MB (i.e minimum allowed size per part).
Fixes #1536
2016-06-28 14:51:49 -07:00
karthic rao
6dcfa7b046
Fix for tests leaving out temp directories ( #2025 )
2016-06-28 04:21:52 -07:00
Krishnan Parthasarathi
a854e8cc5c
api: Sent ErrPreconditionFailed on If-Match failure ( #2009 )
...
* api: Sent ErrPreconditionFailed on If-Match failure
ref:
http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
* tests: Added functional tests for GetObject w/ If-Match headers set
* tests: Used verifyError to simplify errorCode and description matching on error
2016-06-28 01:18:18 -07:00
karthic rao
76f6533f8d
Adding detailed comments for server_xl_test. ( #2011 )
2016-06-27 23:54:56 -07:00
Harshavardhana
4db2b03312
XL: Rename objectN to part.N ( #2019 )
...
Fixes #2015
2016-06-27 21:42:33 -07:00
Krishna Srinivas
5291db60c6
XL/erasure: refactor erasureReadFile. Move parallelRead into a separate function. ( #2008 )
2016-06-27 13:24:55 -07:00
Harshavardhana
2e1f66c37d
XL: Handle quorum situations properly for write operations. ( #1986 )
...
Adds two test cases one for
- PutObject when write quorum is not available.
- PutObjectPart when write quorum is not available.
Fixes #1951
2016-06-27 10:01:09 -07:00
Bala FA
c88720ea2c
XL/listObjects: Ignore entry if getObjectInfo() returns errFileNotFound ( #2004 )
...
Fixes #1956
2016-06-26 22:10:22 -07:00
karthic rao
ce7d5eddbc
Misspell warnings fix ( #2001 )
2016-06-26 22:05:48 -07:00
Harshavardhana
0d3a9c9438
XL: Add tests for checkSufficientDisks, storageInfo. ( #1988 )
2016-06-26 19:48:02 -07:00
Harshavardhana
293ba00249
posix: Re-do tests for readDir(). ( #1996 )
2016-06-26 19:31:53 -07:00
Krishnan Parthasarathi
d0be09fdd3
object: checkETag compares quoted ETags properly ( #1997 )
...
Previously, checkETag didn't handle ETags with leading and trailing
double quotes. e.g "abcdef1234" == "\"abcdef1234\"" would return false.
Now, checkETag function canonicalizes the ETags passed as arguments by
removing one leading/trailing double quote.
2016-06-26 18:10:08 -07:00
Remco Verhoef
1e52759c3c
fix typo ( #1987 )
2016-06-26 11:27:04 -07:00
Harshavardhana
9add048f3c
erasure: Add erasure encode/decode unit tests. ( #1911 )
...
Fixes #1819
2016-06-26 03:32:49 -07:00
Harshavardhana
936a916e78
server: Add connection rate limiter for server. ( #1977 )
2016-06-26 03:18:07 -07:00
Harshavardhana
57146fbbb8
main: minio --help should print regardless of root. ( #1985 )
...
Remove root check entirely.
Fixes #1964
2016-06-26 03:03:52 -07:00
karthic rao
3d02f7471e
Benchmarks for various object sizes for FS/XL GetObject ( #1984 )
2016-06-25 20:22:04 -07:00
karthic rao
b2d9a46cbb
Cleaning up/refactoring tests to be more extensible ( #1970 )
2016-06-25 19:07:44 -07:00
Harshavardhana
42286cba70
XL: Implement new ReadAll API for files which are read in single call. ( #1974 )
...
Add a unit test as well.
2016-06-25 14:51:06 -07:00
karthic rao
ed2fdd90b0
fs: Fix GetObject failure to read large blocks. ( #1982 )
...
Add relevant test cases as well for verifying this
part of the codebase.
Fixes #1979
2016-06-25 03:03:27 -07:00
Krishna Srinivas
cb1200a66d
XL/erasure-read: read disks in parallel. ( #1975 )
...
On read failure, fallback to reads from other
disks also happen in parallel.
2016-06-24 18:02:10 -07:00
Krishnan Parthasarathi
a3a310cde8
Moved tree-walk-fs to use tree-walk-pool ( #1978 )
2016-06-24 16:41:57 -07:00
Bala FA
f625392211
tests: add unit test for posix.readDir() ( #1967 )
...
Fixes #1820
2016-06-24 14:32:08 -07:00
Harshavardhana
e8990e42c2
XL: Make allocations simpler avoid redundant allocs. ( #1961 )
...
- Reduce 10MiB buffers for loopy calls to use 128KiB.
- start using 128KiB buffer where needed.
2016-06-24 02:06:23 -07:00
Harshavardhana
ff9fc22c72
posix: Mkdir() and OpenFile() should honor umask. ( #1972 )
...
Adds two unit tests for validation as well.
Fixes #1965
2016-06-23 20:19:27 -07:00
Harshavardhana
41c089a7e0
XL: Add mis-aligned GetObject() test. ( #1960 )
2016-06-22 21:42:24 -07:00
Harshavardhana
5725f3c809
Merge pull request #1958 from krisis/unittest/unc-path
...
Added unit tests for UNC path handling in windows
2016-06-22 17:19:40 -07:00
Harshavardhana
f4830162a4
XL: Format heal should re-allocate new UUIDs not reuse. ( #1953 )
...
This patch also supports writing to a temporary file and renaming
rather than appending to an existing file. This helps in avoiding
inconsistent files.
2016-06-22 17:18:31 -07:00
Harshavardhana
e10934a88e
bitrot: Start using blake2b algorithm and remove sha512 usage. ( #1957 )
...
Fixes #1952
2016-06-22 17:13:26 -07:00
Krishnan Parthasarathi
a07751f61b
Added tests to validate disk name length near MAX_PATH
2016-06-22 15:30:41 -07:00
Krishnan Parthasarathi
0766e903e3
Added unit tests for UNC path handling in windows
2016-06-22 15:30:41 -07:00
Harshavardhana
75dddfb2ae
Merge pull request #1959 from krishnasrinivas/parallel-reads
...
Parallel reads in erasure-read
2016-06-22 15:05:35 -07:00
Harshavardhana
9b82e64a11
XL/erasure-read: Avoid memory copy, write to writer directly all the dataBlocks.
2016-06-23 02:06:57 +05:30
Harshavardhana
bdf8738076
lock: Add unit tests for namespace lock ( #1922 )
...
Fixes #1821
2016-06-22 12:27:47 -07:00
Krishna Srinivas
d4bea5fbf8
XL/erasure-read: Add Comments and enable bitrot detection.
2016-06-23 00:34:47 +05:30
Krishna Srinivas
17efaaa902
XL/erasure-read: Support parallel reads from disks.
2016-06-23 00:34:47 +05:30
Krishnan Parthasarathi
78ae696749
Added couple of unit-tests to xlObjects ( #1950 )
...
* Added couple of units to xlObjects
* Used test_utils for initialize/destroying xlObjects
2016-06-21 15:48:27 -07:00
Harshavardhana
3fa95f5263
docker: Remove unneeded docker files and makefile tags.
2016-06-21 15:31:30 -07:00
karthic rao
ba5bb4a127
TestServer introduction and revamp of functional tests. ( #1940 )
...
Allows for easy creation of Test server with temp backend.
changes
2016-06-21 12:10:18 -07:00
Harshavardhana
409b4ddecb
api: MakeBucket should set proper bucket location. ( #1948 )
...
Fixes #1942
2016-06-20 23:25:18 -07:00
Harshavardhana
ad779a8ba4
XL: Enable tests for large GetObject. ( #1947 )
...
Ref #1946
2016-06-20 22:08:36 -07:00
Bala FA
7d757033f2
erasure-readfile: Use chunk size to read from each disk for a block. ( #1949 )
...
A block of data is split into data chunk and each data chunk is
written to each disk. Previously block size was used to read data
chunk which returns corrupted data.
This patch fixes the issue by reading chunk sized data from each disk
and assembles a block.
Fixes #1939
2016-06-20 21:40:10 -07:00
Krishnan Parthasarathi
393c504de0
Renaming a part from tmp namespace needs to be handled different from… ( #1944 )
...
* Renaming a part from tmp namespace needs to be handled different from renaming of an object
* Made argument passing in xl.rename and xl.undoRename explicit
2016-06-20 19:11:55 -07:00
Krishnan Parthasarathi
6143c87c3a
Make ioErrCount updates go-routine safe ( #1943 )
...
* Make ioErrCount updates go-routine safe
* Made ioErrCount int32 instead of *int32
... and implemented StorageAPI on *posix as opposed to posix type.
This is consistent with the thumb-rule that if a value of a type is
modified as part of the interface implementation then we implement the
interface on pointer to that type.
2016-06-20 16:57:14 -07:00