objectLayer: Check for format.json in a wrapped disk. (#3311)

This is needed to validate if the `format.json` indeed exists
when a fresh node is brought online.

This wrapped implementation also connects to the remote node
by attempting a re-login. Subsequently after a successful
connect `format.json` is validated as well.

Fixes #3207
This commit is contained in:
Harshavardhana
2016-11-23 15:48:10 -08:00
committed by GitHub
parent 7a5bbf7a2e
commit 6efee2072d
26 changed files with 877 additions and 194 deletions
+3 -3
View File
@@ -48,7 +48,7 @@ func TestFSIsBucketExist(t *testing.T) {
}
// Using a faulty disk
fsStorage := fs.storage.(*posix)
fsStorage := fs.storage.(*retryStorage)
naughty := newNaughtyDisk(fsStorage, nil, errFaultyDisk)
fs.storage = naughty
if found := fs.isBucketExist(bucketName); found {
@@ -92,7 +92,7 @@ func TestFSIsUploadExists(t *testing.T) {
}
// isUploadIdExists with a faulty disk should return false
fsStorage := fs.storage.(*posix)
fsStorage := fs.storage.(*retryStorage)
naughty := newNaughtyDisk(fsStorage, nil, errFaultyDisk)
fs.storage = naughty
if exists := fs.isUploadIDExists(bucketName, objectName, uploadID); exists {
@@ -127,7 +127,7 @@ func TestFSWriteUploadJSON(t *testing.T) {
}
// isUploadIdExists with a faulty disk should return false
fsStorage := fs.storage.(*posix)
fsStorage := fs.storage.(*retryStorage)
for i := 1; i <= 3; i++ {
naughty := newNaughtyDisk(fsStorage, map[int]error{i: errFaultyDisk}, nil)
fs.storage = naughty