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
9 years ago
Harshavardhana
796fe165c7
server: Minor command line doc change for XL. ( #2022 )
9 years ago
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.
9 years ago
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.
9 years ago
karthic rao
59366d8f4c
Benchmarks for ObjectLayer.PutObject() ( #2029 )
9 years ago
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
9 years ago
karthic rao
6dcfa7b046
Fix for tests leaving out temp directories ( #2025 )
9 years ago
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
9 years ago
karthic rao
76f6533f8d
Adding detailed comments for server_xl_test. ( #2011 )
9 years ago
Harshavardhana
4db2b03312
XL: Rename objectN to part.N ( #2019 )
...
Fixes #2015
9 years ago
Krishna Srinivas
5291db60c6
XL/erasure: refactor erasureReadFile. Move parallelRead into a separate function. ( #2008 )
9 years ago
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
9 years ago
Bala FA
c88720ea2c
XL/listObjects: Ignore entry if getObjectInfo() returns errFileNotFound ( #2004 )
...
Fixes #1956
9 years ago
karthic rao
ce7d5eddbc
Misspell warnings fix ( #2001 )
9 years ago
Harshavardhana
0d3a9c9438
XL: Add tests for checkSufficientDisks, storageInfo. ( #1988 )
9 years ago
Harshavardhana
293ba00249
posix: Re-do tests for readDir(). ( #1996 )
9 years ago
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.
9 years ago
Remco Verhoef
1e52759c3c
fix typo ( #1987 )
9 years ago
Harshavardhana
9add048f3c
erasure: Add erasure encode/decode unit tests. ( #1911 )
...
Fixes #1819
9 years ago
Harshavardhana
936a916e78
server: Add connection rate limiter for server. ( #1977 )
9 years ago
Harshavardhana
57146fbbb8
main: minio --help should print regardless of root. ( #1985 )
...
Remove root check entirely.
Fixes #1964
9 years ago
karthic rao
3d02f7471e
Benchmarks for various object sizes for FS/XL GetObject ( #1984 )
9 years ago
karthic rao
b2d9a46cbb
Cleaning up/refactoring tests to be more extensible ( #1970 )
9 years ago
Harshavardhana
42286cba70
XL: Implement new ReadAll API for files which are read in single call. ( #1974 )
...
Add a unit test as well.
9 years ago
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
9 years ago
Krishna Srinivas
cb1200a66d
XL/erasure-read: read disks in parallel. ( #1975 )
...
On read failure, fallback to reads from other
disks also happen in parallel.
9 years ago
Krishnan Parthasarathi
a3a310cde8
Moved tree-walk-fs to use tree-walk-pool ( #1978 )
9 years ago
Bala FA
f625392211
tests: add unit test for posix.readDir() ( #1967 )
...
Fixes #1820
9 years ago
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.
9 years ago
Harshavardhana
ff9fc22c72
posix: Mkdir() and OpenFile() should honor umask. ( #1972 )
...
Adds two unit tests for validation as well.
Fixes #1965
9 years ago
Harshavardhana
41c089a7e0
XL: Add mis-aligned GetObject() test. ( #1960 )
9 years ago
Harshavardhana
5725f3c809
Merge pull request #1958 from krisis/unittest/unc-path
...
Added unit tests for UNC path handling in windows
9 years ago
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.
9 years ago
Harshavardhana
e10934a88e
bitrot: Start using blake2b algorithm and remove sha512 usage. ( #1957 )
...
Fixes #1952
9 years ago
Krishnan Parthasarathi
a07751f61b
Added tests to validate disk name length near MAX_PATH
9 years ago
Krishnan Parthasarathi
0766e903e3
Added unit tests for UNC path handling in windows
9 years ago
Harshavardhana
75dddfb2ae
Merge pull request #1959 from krishnasrinivas/parallel-reads
...
Parallel reads in erasure-read
9 years ago
Harshavardhana
9b82e64a11
XL/erasure-read: Avoid memory copy, write to writer directly all the dataBlocks.
9 years ago
Harshavardhana
bdf8738076
lock: Add unit tests for namespace lock ( #1922 )
...
Fixes #1821
9 years ago
Krishna Srinivas
d4bea5fbf8
XL/erasure-read: Add Comments and enable bitrot detection.
9 years ago
Krishna Srinivas
17efaaa902
XL/erasure-read: Support parallel reads from disks.
9 years ago
Krishnan Parthasarathi
78ae696749
Added couple of unit-tests to xlObjects ( #1950 )
...
* Added couple of units to xlObjects
* Used test_utils for initialize/destroying xlObjects
9 years ago
Harshavardhana
3fa95f5263
docker: Remove unneeded docker files and makefile tags.
9 years ago
karthic rao
ba5bb4a127
TestServer introduction and revamp of functional tests. ( #1940 )
...
Allows for easy creation of Test server with temp backend.
changes
9 years ago
Harshavardhana
409b4ddecb
api: MakeBucket should set proper bucket location. ( #1948 )
...
Fixes #1942
9 years ago
Harshavardhana
ad779a8ba4
XL: Enable tests for large GetObject. ( #1947 )
...
Ref #1946
9 years ago
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
9 years ago
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
9 years ago
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.
9 years ago
Bala FA
8559e89494
XL: fix getBlockInfo() to return correct end block ( #1941 )
...
If requested offset/length of an object is equal to
erasureInfo.BlockSize, getBlockInfo() returns one more block added to
actual end block. This patch fixes the issue.
This patch also adds unit test for get objects with big files.
9 years ago