diff --git a/cmd/admin-handlers_test.go b/cmd/admin-handlers_test.go index 2b8696f97..0e56d70c6 100644 --- a/cmd/admin-handlers_test.go +++ b/cmd/admin-handlers_test.go @@ -73,7 +73,7 @@ func prepareAdminErasureTestBed(ctx context.Context) (*adminErasureTestBed, erro // Initialize boot time globalBootTime = UTCNow() - globalEndpoints = mustGetPoolEndpoints(erasureDirs...) + globalEndpoints = mustGetPoolEndpoints(0, erasureDirs...) initAllSubsystems(ctx) @@ -108,7 +108,7 @@ func initTestErasureObjLayer(ctx context.Context) (ObjectLayer, []string, error) if err != nil { return nil, nil, err } - endpoints := mustGetPoolEndpoints(erasureDirs...) + endpoints := mustGetPoolEndpoints(0, erasureDirs...) globalPolicySys = NewPolicySys() objLayer, err := newErasureServerPools(ctx, endpoints) if err != nil { diff --git a/cmd/endpoint_test.go b/cmd/endpoint_test.go index 4be644afa..e323e1e41 100644 --- a/cmd/endpoint_test.go +++ b/cmd/endpoint_test.go @@ -372,7 +372,7 @@ func TestGetLocalPeer(t *testing.T) { } for i, testCase := range testCases { - zendpoints := mustGetPoolEndpoints(testCase.endpointArgs...) + zendpoints := mustGetPoolEndpoints(0, testCase.endpointArgs...) if !zendpoints[0].Endpoints[0].IsLocal { if err := zendpoints[0].Endpoints.UpdateIsLocal(); err != nil { t.Fatalf("error: expected = , got = %v", err) @@ -405,7 +405,7 @@ func TestGetRemotePeers(t *testing.T) { } for _, testCase := range testCases { - zendpoints := mustGetPoolEndpoints(testCase.endpointArgs...) + zendpoints := mustGetPoolEndpoints(0, testCase.endpointArgs...) if !zendpoints[0].Endpoints[0].IsLocal { if err := zendpoints[0].Endpoints.UpdateIsLocal(); err != nil { t.Errorf("error: expected = , got = %v", err) diff --git a/cmd/erasure-healing_test.go b/cmd/erasure-healing_test.go index ae7ff89fa..7bcc5e849 100644 --- a/cmd/erasure-healing_test.go +++ b/cmd/erasure-healing_test.go @@ -584,7 +584,7 @@ func TestHealingDanglingObject(t *testing.T) { defer removeRoots(fsDirs) // Everything is fine, should return nil - objLayer, disks, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + objLayer, disks, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { t.Fatal(err) } @@ -776,8 +776,8 @@ func TestHealCorrectQuorum(t *testing.T) { defer removeRoots(fsDirs) - pools := mustGetPoolEndpoints(fsDirs[:16]...) - pools = append(pools, mustGetPoolEndpoints(fsDirs[16:]...)...) + pools := mustGetPoolEndpoints(0, fsDirs[:16]...) + pools = append(pools, mustGetPoolEndpoints(1, fsDirs[16:]...)...) // Everything is fine, should return nil objLayer, _, err := initObjectLayer(ctx, pools) @@ -907,8 +907,8 @@ func TestHealObjectCorruptedPools(t *testing.T) { defer removeRoots(fsDirs) - pools := mustGetPoolEndpoints(fsDirs[:16]...) - pools = append(pools, mustGetPoolEndpoints(fsDirs[16:]...)...) + pools := mustGetPoolEndpoints(0, fsDirs[:16]...) + pools = append(pools, mustGetPoolEndpoints(1, fsDirs[16:]...)...) // Everything is fine, should return nil objLayer, _, err := initObjectLayer(ctx, pools) @@ -1088,7 +1088,7 @@ func TestHealObjectCorruptedXLMeta(t *testing.T) { defer removeRoots(fsDirs) // Everything is fine, should return nil - objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { t.Fatal(err) } @@ -1231,7 +1231,7 @@ func TestHealObjectCorruptedParts(t *testing.T) { defer removeRoots(fsDirs) // Everything is fine, should return nil - objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { t.Fatal(err) } @@ -1388,7 +1388,7 @@ func TestHealObjectErasure(t *testing.T) { defer removeRoots(fsDirs) // Everything is fine, should return nil - obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { t.Fatal(err) } @@ -1486,7 +1486,7 @@ func TestHealEmptyDirectoryErasure(t *testing.T) { defer removeRoots(fsDirs) // Everything is fine, should return nil - obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { t.Fatal(err) } @@ -1582,7 +1582,7 @@ func TestHealLastDataShard(t *testing.T) { defer removeRoots(fsDirs) - obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { t.Fatal(err) } diff --git a/cmd/erasure-metadata-utils_test.go b/cmd/erasure-metadata-utils_test.go index 640e9ff94..595ca73f7 100644 --- a/cmd/erasure-metadata-utils_test.go +++ b/cmd/erasure-metadata-utils_test.go @@ -156,7 +156,7 @@ func TestShuffleDisks(t *testing.T) { if err != nil { t.Fatal(err) } - objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(disks...)) + objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, disks...)) if err != nil { removeRoots(disks) t.Fatal(err) @@ -204,7 +204,7 @@ func TestEvalDisks(t *testing.T) { if err != nil { t.Fatal(err) } - objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(disks...)) + objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, disks...)) if err != nil { removeRoots(disks) t.Fatal(err) diff --git a/cmd/erasure-object_test.go b/cmd/erasure-object_test.go index 854786f17..4e411d050 100644 --- a/cmd/erasure-object_test.go +++ b/cmd/erasure-object_test.go @@ -1076,7 +1076,7 @@ func TestGetObjectInlineNotInline(t *testing.T) { fsDirs = append(fsDirs, filepath.Join(path, fmt.Sprintf("disk%d", i))) } - objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { removeRoots(fsDirs) t.Fatal(err) diff --git a/cmd/erasure-server-pool-decom_test.go b/cmd/erasure-server-pool-decom_test.go index f2e96a09d..ee438aeec 100644 --- a/cmd/erasure-server-pool-decom_test.go +++ b/cmd/erasure-server-pool-decom_test.go @@ -29,8 +29,8 @@ func prepareErasurePools() (ObjectLayer, []string, error) { return nil, nil, err } - pools := mustGetPoolEndpoints(fsDirs[:16]...) - pools = append(pools, mustGetPoolEndpoints(fsDirs[16:]...)...) + pools := mustGetPoolEndpoints(0, fsDirs[:16]...) + pools = append(pools, mustGetPoolEndpoints(1, fsDirs[16:]...)...) // Everything is fine, should return nil objLayer, err := newErasureServerPools(context.Background(), pools) diff --git a/cmd/erasure-sets_test.go b/cmd/erasure-sets_test.go index 9faa83f9d..cb0c15fa5 100644 --- a/cmd/erasure-sets_test.go +++ b/cmd/erasure-sets_test.go @@ -173,7 +173,7 @@ func TestNewErasureSets(t *testing.T) { defer os.RemoveAll(disk) } - endpoints := mustGetNewEndpoints(erasureDisks...) + endpoints := mustGetNewEndpoints(0, erasureDisks...) _, _, err := waitForFormatErasure(true, endpoints, 1, 0, 16, "", "") if err != errInvalidArgument { t.Fatalf("Expecting error, got %s", err) diff --git a/cmd/format-erasure_test.go b/cmd/format-erasure_test.go index 0ddf9e1d8..37f0c47a2 100644 --- a/cmd/format-erasure_test.go +++ b/cmd/format-erasure_test.go @@ -36,7 +36,7 @@ func TestFixFormatV3(t *testing.T) { for _, erasureDir := range erasureDirs { defer os.RemoveAll(erasureDir) } - endpoints := mustGetNewEndpoints(erasureDirs...) + endpoints := mustGetNewEndpoints(0, erasureDirs...) storageDisks, errs := initStorageDisksWithErrors(endpoints, true) for _, err := range errs { @@ -555,7 +555,7 @@ func benchmarkInitStorageDisksN(b *testing.B, nDisks int) { if err != nil { b.Fatal(err) } - endpoints := mustGetNewEndpoints(fsDirs...) + endpoints := mustGetNewEndpoints(0, fsDirs...) b.RunParallel(func(pb *testing.PB) { endpoints := endpoints for pb.Next() { diff --git a/cmd/object-api-listobjects_test.go b/cmd/object-api-listobjects_test.go index d390a358a..797ef6204 100644 --- a/cmd/object-api-listobjects_test.go +++ b/cmd/object-api-listobjects_test.go @@ -1887,7 +1887,7 @@ func testListObjectsContinuation(obj ObjectLayer, instanceType string, t1 TestEr // Initialize FS backend for the benchmark. func initFSObjectsB(disk string, t *testing.B) (obj ObjectLayer) { - obj, _, err := initObjectLayer(context.Background(), mustGetPoolEndpoints(disk)) + obj, _, err := initObjectLayer(context.Background(), mustGetPoolEndpoints(0, disk)) if err != nil { t.Fatal(err) } diff --git a/cmd/peer-s3-client.go b/cmd/peer-s3-client.go index cb8380ab0..c1c5beae3 100644 --- a/cmd/peer-s3-client.go +++ b/cmd/peer-s3-client.go @@ -260,7 +260,7 @@ func (sys *S3PeerSys) MakeBucket(ctx context.Context, bucket string, opts MakeBu perPoolErrs = append(perPoolErrs, errs[i]) } } - if poolErr := reduceReadQuorumErrs(ctx, errs, bucketOpIgnoredErrs, len(perPoolErrs)/2+1); poolErr != nil { + if poolErr := reduceReadQuorumErrs(ctx, perPoolErrs, bucketOpIgnoredErrs, len(perPoolErrs)/2+1); poolErr != nil { return toObjectErr(poolErr, bucket) } } @@ -303,7 +303,7 @@ func (sys *S3PeerSys) DeleteBucket(ctx context.Context, bucket string, opts Dele perPoolErrs = append(perPoolErrs, errs[i]) } } - if poolErr := reduceReadQuorumErrs(ctx, errs, bucketOpIgnoredErrs, len(perPoolErrs)/2+1); poolErr != nil { + if poolErr := reduceReadQuorumErrs(ctx, perPoolErrs, bucketOpIgnoredErrs, len(perPoolErrs)/2+1); poolErr != nil { // re-create successful deletes, since we are return an error. sys.MakeBucket(ctx, bucket, MakeBucketOptions{}) return toObjectErr(poolErr, bucket) diff --git a/cmd/server-main_test.go b/cmd/server-main_test.go index 018f85839..77af79ad0 100644 --- a/cmd/server-main_test.go +++ b/cmd/server-main_test.go @@ -35,7 +35,7 @@ func TestNewObjectLayer(t *testing.T) { } defer removeRoots(disks) - obj, err := newObjectLayer(ctx, mustGetPoolEndpoints(disks...)) + obj, err := newObjectLayer(ctx, mustGetPoolEndpoints(0, disks...)) if err != nil { t.Fatal("Unexpected object layer initialization error", err) } @@ -55,7 +55,7 @@ func TestNewObjectLayer(t *testing.T) { } defer removeRoots(disks) - obj, err = newObjectLayer(ctx, mustGetPoolEndpoints(disks...)) + obj, err = newObjectLayer(ctx, mustGetPoolEndpoints(0, disks...)) if err != nil { t.Fatal("Unexpected object layer initialization error", err) } diff --git a/cmd/test-utils_test.go b/cmd/test-utils_test.go index 712021960..ac296fa74 100644 --- a/cmd/test-utils_test.go +++ b/cmd/test-utils_test.go @@ -191,7 +191,7 @@ func prepareFS(ctx context.Context) (ObjectLayer, string, error) { if err != nil { return nil, "", err } - obj, _, err := initObjectLayer(context.Background(), mustGetPoolEndpoints(fsDirs...)) + obj, _, err := initObjectLayer(context.Background(), mustGetPoolEndpoints(0, fsDirs...)) if err != nil { return nil, "", err } @@ -211,7 +211,7 @@ func prepareErasure(ctx context.Context, nDisks int) (ObjectLayer, []string, err if err != nil { return nil, nil, err } - obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(fsDirs...)) + obj, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, fsDirs...)) if err != nil { removeRoots(fsDirs) return nil, nil, err @@ -331,7 +331,7 @@ func initTestServerWithBackend(ctx context.Context, t TestErrHandler, testServer testServer.Obj = objLayer testServer.rawDiskPaths = disks - testServer.Disks = mustGetPoolEndpoints(disks...) + testServer.Disks = mustGetPoolEndpoints(0, disks...) testServer.AccessKey = credentials.AccessKey testServer.SecretKey = credentials.SecretKey @@ -1932,7 +1932,7 @@ func ExecObjectLayerStaleFilesTest(t *testing.T, objTest objTestStaleFilesType) if err != nil { t.Fatalf("Initialization of drives for Erasure setup: %s", err) } - objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(erasureDisks...)) + objLayer, _, err := initObjectLayer(ctx, mustGetPoolEndpoints(0, erasureDisks...)) if err != nil { t.Fatalf("Initialization of object layer failed for Erasure setup: %s", err) } @@ -2172,8 +2172,8 @@ func generateTLSCertKey(host string) ([]byte, []byte, error) { return certOut.Bytes(), keyOut.Bytes(), nil } -func mustGetPoolEndpoints(args ...string) EndpointServerPools { - endpoints := mustGetNewEndpoints(args...) +func mustGetPoolEndpoints(poolIdx int, args ...string) EndpointServerPools { + endpoints := mustGetNewEndpoints(poolIdx, args...) drivesPerSet := len(args) setCount := 1 if len(args) >= 16 { @@ -2188,8 +2188,11 @@ func mustGetPoolEndpoints(args ...string) EndpointServerPools { }} } -func mustGetNewEndpoints(args ...string) (endpoints Endpoints) { +func mustGetNewEndpoints(poolIdx int, args ...string) (endpoints Endpoints) { endpoints, err := NewEndpoints(args...) + for i := range endpoints { + endpoints[i].Pool = poolIdx + } logger.FatalIf(err, "unable to create new endpoint list") return endpoints }