Harshavardhana
445dc22118
XL: Cleanup and add more comments. ( #1807 )
2016-05-30 16:51:59 -07:00
karthic rao
ffc2b3c304
Test for ListObjectParts. ( #1802 )
2016-05-30 14:36:33 -07:00
Krishnan Parthasarathi
967c2b2940
Handled possible short writes to httpResponseWriter ( #1804 )
...
* XL: Handled possible short writes to httpResponseWriter
* Added tests for Range Header combinations
2016-05-30 11:27:15 -07:00
Krishna Srinivas
b466f27705
Nslock fixes ( #1803 )
...
* XL/Multipart: Support parallel upload of parts by doing NS locking appropriately.
* XL/Multipart: hold lock on the multipart upload while aborting.
2016-05-30 11:26:10 -07:00
Harshavardhana
a4a0ea605b
XL: Fix GetObject erasure decode issues. ( #1793 )
2016-05-29 15:38:14 -07:00
Harshavardhana
5e8de786b3
XL: Truly use unique id's in temp directory. ( #1790 )
...
This also helps in avoiding cleaning up directories after.
Additionally this patch also fixes the problem of Range offsets.
2016-05-29 00:42:09 -07:00
Harshavardhana
feb337098d
XL: bring in new storage API. ( #1780 )
...
Fixes #1771
2016-05-28 16:12:51 -07:00
Krishnan Parthasarathi
c87f259820
Remove parts that are missing in CompleteMultipartUpload ( #1786 )
...
* Remove parts that are missing in CompleteMultipartUpload
* Moved isUploadIDExists under proper namespace locks
* Moved code that deletes part files to a function
2016-05-28 15:15:53 -07:00
karthic rao
7278b90fe1
Adding defer to the lock ( #1785 )
2016-05-28 15:15:53 -07:00
Krishna Srinivas
41a5b3908b
XL/ListParts: take the size from xl.json instead of backend file size as it will be different. ( #1781 )
...
Fixes #1779
2016-05-28 15:15:53 -07:00
Krishna Srinivas
3fb0b5e455
XL/Multipart: check existance upload uploadID after lock. ( #1778 )
...
Fixes #1767
2016-05-28 15:15:53 -07:00
Harshavardhana
ba8bdec077
XL: ListObjects should not list when delimiter and prefix are '/'. ( #1777 )
2016-05-28 15:15:53 -07:00
Harshavardhana
27cc8a6529
erasure: read only dataBlocks if we have enough. ( #1776 )
...
Reconstruct with parity blocks if we don't have enough data blocks.
2016-05-28 15:15:53 -07:00
Krishnan Parthasarathi
302ec27fa2
Fixed race during parallel PutObjectPart requests ( #1775 )
...
The race is between two parallel PutObjectPart requests updating partsInfo in xl.json.
Previously, it was being updated under a RLock().
2016-05-28 15:15:53 -07:00
Krishnan Parthasarathi
5f679d9d1e
Rename back multipart objects if read/write Quorum was unavailable ( #1773 )
2016-05-28 15:15:53 -07:00
Bala FA
51bb613fdf
pkg/safe: remove temporary file on failure ( #1774 )
2016-05-28 15:15:53 -07:00
Harshavardhana
d65101a8c8
XL: Implement strided erasure distribution. ( #1772 )
...
Strided erasure distribution uses a new randomized
block distribution for each Put operation. This
information is captured inside `xl.json` for subsequent
Get operations.
2016-05-28 15:15:53 -07:00
Krishna Srinivas
6dc8323684
FS/ListMultipart: Fix FS list-multipart to work for unit test cases.
2016-05-28 15:15:53 -07:00
Krishna Srinivas
616a257bfa
XL/Multipart: isMultipartUpload() checks for presence of uploads.json on a random disk.
2016-05-28 15:15:53 -07:00
Krishna Srinivas
3487b3c095
Multipart: Disable FS tests and certain test cases for list-incomplete-uploads.
2016-05-28 15:15:53 -07:00
Karthic Rao
1f51af6f37
Listmultipart tests.
2016-05-28 15:15:53 -07:00
Krishna Srinivas
b1e2b7dea2
Fix list-incomplete uploads for XL.
2016-05-28 15:15:53 -07:00
Harshavardhana
34e9ad24aa
XL: Introduce new API StorageInfo. ( #1770 )
...
This is necessary for calculating the total storage
capacity from object layer. This value is also needed for
browser UI.
Buckets used to carry this information, this patch
deprecates this feature.
2016-05-28 15:15:53 -07:00
Harshavardhana
b2293c2bf4
XL: Rename, cleanup and add more comments. ( #1769 )
...
- xl-v1-bucket.go - removes a whole bunch of code.
- {xl-v1,fs-v1}-metadata.go - add a lot of comments and rename functions
appropriately.
2016-05-28 15:15:53 -07:00
Harshavardhana
553fdb9211
XL: Bring in support for object versions written during writeQuorum. ( #1762 )
...
Erasure is initialized as needed depending on the quorum and onlineDisks.
This way we can manage the quorum at the object layer.
2016-05-28 15:15:53 -07:00
Harshavardhana
cae4782973
XL: explicit deleteObject is not needed after rename failure. ( #1760 )
...
Reason is renameObject() does deleteObject() upon writeQuorum
failure if not keeps the successfully renamed parts if we have
reached readQuorum.
2016-05-28 15:15:53 -07:00
Krishnan Parthasarathi
3550660163
Return error for empty parts in multipartupload complete ( #1758 )
2016-05-28 15:15:53 -07:00
Harshavardhana
a4771265cf
XL: Abortmultipart should update uploads.json
properly. ( #1757 )
2016-05-28 15:15:53 -07:00
Harshavardhana
a9e778f460
XL/fs: initObjectLayer should cleanup tmpMetaPrefix in parallel. ( #1752 )
...
Fixes #1747
2016-05-28 15:15:53 -07:00
Harshavardhana
ee6645f421
XL: Add additional PartNumber variable as part of xl.json
( #1750 )
...
This is needed for verification of incoming parts and to
support variadic part uploads. Which should be sorted
properly.
Fixes #1740
2016-05-28 15:15:53 -07:00
Harshavardhana
a97230dd56
XL/erasure: Reset dataBlocks to reduce the memory usage. ( #1749 )
...
Fixes #1748
2016-05-28 15:15:53 -07:00
Harshavardhana
1e393c6c5b
XL: Add new metadata for checksum. ( #1743 )
2016-05-28 15:15:53 -07:00
Krishna Srinivas
b38b9fea79
XL/erasure: fix for skipping 0 padding. ( #1737 )
...
Fixes #1736
2016-05-28 15:15:53 -07:00
Krishna Srinivas
6d84e84b3c
XL/mutltipart: fix partnumber to partname association. ( #1739 )
...
Fixes #1738
2016-05-28 15:15:53 -07:00
Harshavardhana
a00a5c6e7e
XL: Multipart update uploads.json properly. ( #1741 )
2016-05-28 15:15:53 -07:00
Harshavardhana
ed43d5e02b
No need to delete file inside erasure code ( #1732 )
2016-05-28 15:15:53 -07:00
Harshavardhana
293d246f95
XL/FS: Rewrite in new format.
2016-05-28 15:15:53 -07:00
Anand Babu (AB) Periasamy
63c65b4635
filter GOPATH from stack trace ( #1755 )
2016-05-25 02:32:35 -07:00
Harshavardhana
64b0976e1b
Remove probe and tasker. ( #1733 )
...
Fixes #1717
2016-05-24 18:43:33 -07:00
Aakash Muttineni
b48b2e7f7c
Part ID check ( #1730 )
...
* Added check in PutObjectPartHandler to make sure part ID does not exceed 10000. ErrInvalidMaxParts written to response if part ID exceeds the maximum value.
2016-05-24 01:52:47 -07:00
Krishnan Parthasarathi
584813e214
Used MINIO_PROFILE_DIR for saving profile information of a minio server ( #1722 )
...
To specify the directory where profiling information should be saved
```
export MINIO_PROFILE_DIR=/path/to/profile/dir
```
By default, profiling information would be saved in a directory created
using ioutil.TempDir, which would be displayed in stdout on starting the
minio server.
2016-05-22 22:11:39 -07:00
Krishnan Parthasarathi
3a980eac1a
Fix shadowing of err variable ( #1718 )
2016-05-21 00:43:47 -07:00
Harshavardhana
5a4b074ca0
XL: PutObject incorrectly returned after deleting multipart object. ( #1715 )
...
Fixes #1714
2016-05-20 17:27:48 -07:00
Harshavardhana
f76d975304
xl: StatVol and ListVols should handle cases when disks are missing. ( #1703 )
...
Remove unnecessary code, handle cases of missing disk.
2016-05-20 16:45:53 -07:00
Harshavardhana
6015a7a3cd
Add mention-bot config
2016-05-20 13:53:15 -07:00
Krishna Srinivas
b83b87a7f6
XL/Incompleteuploads: list should save the tree-walk go routine to the map if eof is not reached. ( #1695 )
2016-05-20 12:09:21 -07:00
Krishna Srinivas
5b95f097d4
multipart: listing does not skip uploadIDmarker. ( #1708 )
...
Fixes #1706
2016-05-20 11:48:28 -07:00
Harshavardhana
e4240aa58f
XL/objects: Initialize format.json outside of erasure. ( #1640 )
...
Fixes #1636
New format now generates a UUID and includes it along with
the order of disks. So that UUID is the real order of disks
and on command line user is able to specify disks in any order.
This pre-dominantly solves our dilemma.
```
{
"format" : "xl",
"xl" : {
"version" : "1",
"disk": "00e4cf06-5bf5-4bb5-b885-4b2fff4a7959",
"jbod" : [
"00e4cf06-5bf5-4bb5-b885-4b2fff4a7959",
....
"c47d2608-5067-4ed7-b1e4-fb81bdbb549f",
"a543293e-99f1-4310-b540-1e450878e844",
"18f97cbe-529a-456a-b6d4-0feacf64534d"
]
},
"version" : "1"
}
```
2016-05-20 02:22:22 -07:00
Andreas Linz
f5dfa895a5
Exit with error code if minio server fails to start ( #1704 )
...
This commit replaces the call to `errorIf` with `fatalIf`, so that the
minio server exits with an non-zero exit status if something fails, e.g.
the port was already openend by another process.
2016-05-20 02:05:52 -07:00
Harshavardhana
50c328ff19
XL: RenameFile should rename and cleanup on writeQuorum. ( #1702 )
...
Fixes #1683
2016-05-20 01:56:46 -07:00