[ARVADOS] created: e686d4f07446cc0af28e74039282e6d1e75179db

Git user git at public.curoverse.com
Thu Jun 23 16:23:27 EDT 2016


        at  e686d4f07446cc0af28e74039282e6d1e75179db (commit)


commit e686d4f07446cc0af28e74039282e6d1e75179db
Author: Tom Clegg <tom at curoverse.com>
Date:   Thu Jun 23 16:22:56 2016 -0400

    9437: gofmt

diff --git a/sdk/go/arvados/client_test.go b/sdk/go/arvados/client_test.go
index 422ad90..5011aa8 100644
--- a/sdk/go/arvados/client_test.go
+++ b/sdk/go/arvados/client_test.go
@@ -117,7 +117,7 @@ func TestAnythingToValues(t *testing.T) {
 			},
 		},
 		{
-			in: map[string]interface{}{"foo": map[string]interface{}{"bar":1.234}},
+			in: map[string]interface{}{"foo": map[string]interface{}{"bar": 1.234}},
 			ok: func(out url.Values) bool {
 				return out.Get("foo") == `{"bar":1.234}`
 			},
diff --git a/sdk/go/crunchrunner/crunchrunner_test.go b/sdk/go/crunchrunner/crunchrunner_test.go
index 52d5c1a..9805412 100644
--- a/sdk/go/crunchrunner/crunchrunner_test.go
+++ b/sdk/go/crunchrunner/crunchrunner_test.go
@@ -53,7 +53,7 @@ func (s *TestSuite) TestSimpleRun(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"echo", "foo"}}}}},
 		Task{Sequence: 0})
 	c.Check(err, IsNil)
@@ -89,8 +89,8 @@ func (s *TestSuite) TestSimpleRunSubtask(c *C) {
 		tmpdir,
 		"",
 		Job{Script_parameters: Tasks{[]TaskDef{
-			TaskDef{Command: []string{"echo", "bar"}},
-			TaskDef{Command: []string{"echo", "foo"}}}}},
+			{Command: []string{"echo", "bar"}},
+			{Command: []string{"echo", "foo"}}}}},
 		Task{Parameters: TaskDef{
 			Command: []string{"echo", "foo"},
 			Stdout:  "output.txt"},
@@ -118,7 +118,7 @@ func (s *TestSuite) TestRedirect(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"cat"},
 			Stdout:  "output.txt",
 			Stdin:   tmpfile.Name()}}}},
@@ -140,7 +140,7 @@ func (s *TestSuite) TestEnv(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"/bin/sh", "-c", "echo $BAR"},
 			Stdout:  "output.txt",
 			Env:     map[string]string{"BAR": "foo"}}}}},
@@ -161,7 +161,7 @@ func (s *TestSuite) TestEnvSubstitute(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"foo\n",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"/bin/sh", "-c", "echo $BAR"},
 			Stdout:  "output.txt",
 			Env:     map[string]string{"BAR": "$(task.keep)"}}}}},
@@ -182,7 +182,7 @@ func (s *TestSuite) TestEnvReplace(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"/bin/sh", "-c", "echo $PATH"},
 			Stdout:  "output.txt",
 			Env:     map[string]string{"PATH": "foo"}}}}},
@@ -211,12 +211,12 @@ func (t SubtaskTestClient) Update(resourceType string, uuid string, parameters a
 func (s *TestSuite) TestScheduleSubtask(c *C) {
 
 	api := SubtaskTestClient{c, []Task{
-		Task{Job_uuid: "zzzz-8i9sb-111111111111111",
+		{Job_uuid: "zzzz-8i9sb-111111111111111",
 			Created_by_job_task_uuid: "zzzz-ot0gb-111111111111111",
 			Sequence:                 1,
 			Parameters: TaskDef{
 				Command: []string{"echo", "bar"}}},
-		Task{Job_uuid: "zzzz-8i9sb-111111111111111",
+		{Job_uuid: "zzzz-8i9sb-111111111111111",
 			Created_by_job_task_uuid: "zzzz-ot0gb-111111111111111",
 			Sequence:                 1,
 			Parameters: TaskDef{
@@ -234,8 +234,8 @@ func (s *TestSuite) TestScheduleSubtask(c *C) {
 		tmpdir,
 		"",
 		Job{Script_parameters: Tasks{[]TaskDef{
-			TaskDef{Command: []string{"echo", "bar"}},
-			TaskDef{Command: []string{"echo", "foo"}}}}},
+			{Command: []string{"echo", "bar"}},
+			{Command: []string{"echo", "foo"}}}}},
 		Task{Sequence: 0})
 	c.Check(err, IsNil)
 
@@ -252,7 +252,7 @@ func (s *TestSuite) TestRunFail(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"/bin/sh", "-c", "exit 1"}}}}},
 		Task{Sequence: 0})
 	c.Check(err, FitsTypeOf, PermFail{})
@@ -269,7 +269,7 @@ func (s *TestSuite) TestRunSuccessCode(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command:      []string{"/bin/sh", "-c", "exit 1"},
 			SuccessCodes: []int{0, 1}}}}},
 		Task{Sequence: 0})
@@ -287,7 +287,7 @@ func (s *TestSuite) TestRunFailCode(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command:            []string{"/bin/sh", "-c", "exit 0"},
 			PermanentFailCodes: []int{0, 1}}}}},
 		Task{Sequence: 0})
@@ -305,7 +305,7 @@ func (s *TestSuite) TestRunTempFailCode(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command:            []string{"/bin/sh", "-c", "exit 1"},
 			TemporaryFailCodes: []int{1}}}}},
 		Task{Sequence: 0})
@@ -329,7 +329,7 @@ func (s *TestSuite) TestVwd(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"ls", "output.txt"},
 			Vwd: map[string]string{
 				"output.txt": tmpfile.Name()}}}}},
@@ -361,7 +361,7 @@ func (s *TestSuite) TestSubstitutionStdin(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		keepmount,
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"cat"},
 			Stdout:  "output.txt",
 			Stdin:   "$(task.keep)/file1.txt"}}}},
@@ -389,7 +389,7 @@ func (s *TestSuite) TestSubstitutionCommandLine(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		keepmount,
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"cat", "$(task.keep)/file1.txt"},
 			Stdout:  "output.txt"}}}},
 		Task{Sequence: 0})
@@ -417,7 +417,7 @@ func (s *TestSuite) TestSignal(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"sleep", "4"}}}}},
 		Task{Sequence: 0})
 	c.Check(err, FitsTypeOf, PermFail{})
@@ -437,7 +437,7 @@ func (s *TestSuite) TestQuoting(c *C) {
 		"zzzz-ot0gb-111111111111111",
 		tmpdir,
 		"",
-		Job{Script_parameters: Tasks{[]TaskDef{TaskDef{
+		Job{Script_parameters: Tasks{[]TaskDef{{
 			Command: []string{"echo", "foo"},
 			Stdout:  "s ub:dir/:e vi\nl"}}}},
 		Task{Sequence: 0})
diff --git a/sdk/go/keepclient/collectionreader.go b/sdk/go/keepclient/collectionreader.go
index bed60f4..33bb587 100644
--- a/sdk/go/keepclient/collectionreader.go
+++ b/sdk/go/keepclient/collectionreader.go
@@ -243,7 +243,7 @@ GET:
 	// In case we exited the above loop early: before returning,
 	// drain the toGet channel so its sender doesn't sit around
 	// blocking forever.
-	for _ = range r.toGet {
+	for range r.toGet {
 	}
 }
 
diff --git a/services/crunch-dispatch-local/crunch-dispatch-local.go b/services/crunch-dispatch-local/crunch-dispatch-local.go
index 936a908..0ca7651 100644
--- a/services/crunch-dispatch-local/crunch-dispatch-local.go
+++ b/services/crunch-dispatch-local/crunch-dispatch-local.go
@@ -168,7 +168,7 @@ func run(dispatcher *dispatch.Dispatcher,
 	}
 
 	// drain any subsequent status changes
-	for _ = range status {
+	for range status {
 	}
 
 	log.Printf("Finalized container %v", uuid)
diff --git a/services/crunch-dispatch-local/crunch-dispatch-local_test.go b/services/crunch-dispatch-local/crunch-dispatch-local_test.go
index 9628bf2..17f9d67 100644
--- a/services/crunch-dispatch-local/crunch-dispatch-local_test.go
+++ b/services/crunch-dispatch-local/crunch-dispatch-local_test.go
@@ -88,7 +88,7 @@ func (s *TestSuite) TestIntegration(c *C) {
 
 	// There should be no queued containers now
 	params := arvadosclient.Dict{
-		"filters": [][]string{[]string{"state", "=", "Queued"}},
+		"filters": [][]string{{"state", "=", "Queued"}},
 	}
 	var containers arvados.ContainerList
 	err = arv.List("containers", params, &containers)
diff --git a/services/crunch-dispatch-slurm/crunch-dispatch-slurm_test.go b/services/crunch-dispatch-slurm/crunch-dispatch-slurm_test.go
index b72ad9f..d8b94f9 100644
--- a/services/crunch-dispatch-slurm/crunch-dispatch-slurm_test.go
+++ b/services/crunch-dispatch-slurm/crunch-dispatch-slurm_test.go
@@ -136,7 +136,7 @@ func (s *TestSuite) integrationTest(c *C,
 
 	// There should be no queued containers now
 	params := arvadosclient.Dict{
-		"filters": [][]string{[]string{"state", "=", "Queued"}},
+		"filters": [][]string{{"state", "=", "Queued"}},
 	}
 	var containers arvados.ContainerList
 	err = arv.List("containers", params, &containers)
diff --git a/services/crunch-run/crunchrun.go b/services/crunch-run/crunchrun.go
index 7da1beb..2fd0029 100644
--- a/services/crunch-run/crunchrun.go
+++ b/services/crunch-run/crunchrun.go
@@ -102,7 +102,7 @@ func (runner *ContainerRunner) SetupSignals() {
 	signal.Notify(runner.SigChan, syscall.SIGQUIT)
 
 	go func(sig <-chan os.Signal) {
-		for _ = range sig {
+		for range sig {
 			if !runner.Cancelled {
 				runner.CancelLock.Lock()
 				runner.Cancelled = true
diff --git a/services/crunchstat/crunchstat_test.go b/services/crunchstat/crunchstat_test.go
index 69f31af..fe95f03 100644
--- a/services/crunchstat/crunchstat_test.go
+++ b/services/crunchstat/crunchstat_test.go
@@ -89,7 +89,7 @@ func TestCopyPipeToChildLogLongLines(t *testing.T) {
 			}
 			line = line[5:]
 		}
-		if len(line) >= 6 && string(line[len(line)-6:len(line)]) == "[...]\n" {
+		if len(line) >= 6 && string(line[len(line)-6:]) == "[...]\n" {
 			line = line[:len(line)-6]
 		} else {
 			done = true
diff --git a/services/datamanager/collection/collection.go b/services/datamanager/collection/collection.go
index 55b3f61..5fcacff 100644
--- a/services/datamanager/collection/collection.go
+++ b/services/datamanager/collection/collection.go
@@ -49,11 +49,11 @@ type GetCollectionsParams struct {
 
 // SdkCollectionInfo holds collection info from api
 type SdkCollectionInfo struct {
-	UUID                 string    `json:"uuid"`
-	OwnerUUID            string    `json:"owner_uuid"`
-	ReplicationDesired   int       `json:"replication_desired"`
-	ModifiedAt           time.Time `json:"modified_at"`
-	ManifestText         string    `json:"manifest_text"`
+	UUID               string    `json:"uuid"`
+	OwnerUUID          string    `json:"owner_uuid"`
+	ReplicationDesired int       `json:"replication_desired"`
+	ModifiedAt         time.Time `json:"modified_at"`
+	ManifestText       string    `json:"manifest_text"`
 }
 
 // SdkCollectionList lists collections from api
@@ -131,7 +131,7 @@ func GetCollections(params GetCollectionsParams) (results ReadCollections, err e
 	sdkParams := arvadosclient.Dict{
 		"select":  fieldsWanted,
 		"order":   []string{"modified_at ASC", "uuid ASC"},
-		"filters": [][]string{[]string{"modified_at", ">=", "1900-01-01T00:00:00Z"}},
+		"filters": [][]string{{"modified_at", ">=", "1900-01-01T00:00:00Z"}},
 		"offset":  0}
 
 	if params.BatchSize > 0 {
diff --git a/services/datamanager/collection/collection_test.go b/services/datamanager/collection/collection_test.go
index 47ab5fa..b23ef2c 100644
--- a/services/datamanager/collection/collection_test.go
+++ b/services/datamanager/collection/collection_test.go
@@ -64,7 +64,7 @@ func CompareSummarizedReadCollections(c *C,
 }
 
 func (s *MySuite) TestSummarizeSimple(checker *C) {
-	rc := MakeTestReadCollections([]TestCollectionSpec{TestCollectionSpec{
+	rc := MakeTestReadCollections([]TestCollectionSpec{{
 		ReplicationLevel: 5,
 		Blocks:           []int{1, 2},
 	}})
@@ -79,7 +79,7 @@ func (s *MySuite) TestSummarizeSimple(checker *C) {
 	expected := ExpectedSummary{
 		OwnerToCollectionSize:     map[string]int{c.OwnerUUID: c.TotalSize},
 		BlockToDesiredReplication: map[blockdigest.DigestWithSize]int{blockDigest1: 5, blockDigest2: 5},
-		BlockToCollectionUuids:    map[blockdigest.DigestWithSize][]string{blockDigest1: []string{c.UUID}, blockDigest2: []string{c.UUID}},
+		BlockToCollectionUuids:    map[blockdigest.DigestWithSize][]string{blockDigest1: {c.UUID}, blockDigest2: {c.UUID}},
 	}
 
 	CompareSummarizedReadCollections(checker, rc, expected)
@@ -87,11 +87,11 @@ func (s *MySuite) TestSummarizeSimple(checker *C) {
 
 func (s *MySuite) TestSummarizeOverlapping(checker *C) {
 	rc := MakeTestReadCollections([]TestCollectionSpec{
-		TestCollectionSpec{
+		{
 			ReplicationLevel: 5,
 			Blocks:           []int{1, 2},
 		},
-		TestCollectionSpec{
+		{
 			ReplicationLevel: 8,
 			Blocks:           []int{2, 3},
 		},
@@ -117,9 +117,9 @@ func (s *MySuite) TestSummarizeOverlapping(checker *C) {
 			blockDigest3: 8,
 		},
 		BlockToCollectionUuids: map[blockdigest.DigestWithSize][]string{
-			blockDigest1: []string{c0.UUID},
-			blockDigest2: []string{c0.UUID, c1.UUID},
-			blockDigest3: []string{c1.UUID},
+			blockDigest1: {c0.UUID},
+			blockDigest2: {c0.UUID, c1.UUID},
+			blockDigest3: {c1.UUID},
 		},
 	}
 
diff --git a/services/datamanager/keep/keep.go b/services/datamanager/keep/keep.go
index 206a9c4..e7843ea 100644
--- a/services/datamanager/keep/keep.go
+++ b/services/datamanager/keep/keep.go
@@ -118,7 +118,7 @@ func GetKeepServersAndSummarize(params GetKeepServersParams) (results ReadServer
 // GetKeepServers from api server
 func GetKeepServers(params GetKeepServersParams) (results ReadServers, err error) {
 	sdkParams := arvadosclient.Dict{
-		"filters": [][]string{[]string{"service_type", "!=", "proxy"}},
+		"filters": [][]string{{"service_type", "!=", "proxy"}},
 	}
 	if params.Limit > 0 {
 		sdkParams["limit"] = params.Limit
diff --git a/services/datamanager/keep/keep_test.go b/services/datamanager/keep/keep_test.go
index 79ff3f8..6698849 100644
--- a/services/datamanager/keep/keep_test.go
+++ b/services/datamanager/keep/keep_test.go
@@ -43,7 +43,7 @@ func (s *KeepSuite) TestSendTrashLists(c *C) {
 	defer server.Close()
 
 	tl := map[string]TrashList{
-		server.URL: TrashList{TrashRequest{"000000000000000000000000deadbeef", 99}}}
+		server.URL: {TrashRequest{"000000000000000000000000deadbeef", 99}}}
 
 	arv := arvadosclient.ArvadosClient{ApiToken: "abc123"}
 	kc := keepclient.KeepClient{Arvados: &arv, Client: &http.Client{}}
@@ -70,7 +70,7 @@ func (tse *TestHandlerError) ServeHTTP(writer http.ResponseWriter, req *http.Req
 
 func sendTrashListError(c *C, server *httptest.Server) {
 	tl := map[string]TrashList{
-		server.URL: TrashList{TrashRequest{"000000000000000000000000deadbeef", 99}}}
+		server.URL: {TrashRequest{"000000000000000000000000deadbeef", 99}}}
 
 	arv := arvadosclient.ArvadosClient{ApiToken: "abc123"}
 	kc := keepclient.KeepClient{Arvados: &arv, Client: &http.Client{}}
diff --git a/services/datamanager/summary/pull_list_test.go b/services/datamanager/summary/pull_list_test.go
index e2050c2..60b495c 100644
--- a/services/datamanager/summary/pull_list_test.go
+++ b/services/datamanager/summary/pull_list_test.go
@@ -164,69 +164,69 @@ func (s *PullSuite) TestBuildPullLists(c *C) {
 	locator1 := Locator{Digest: blockdigest.MakeTestBlockDigest(0xBadBeef)}
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{To: []string{}, From: []string{}}}),
+			locator1: {To: []string{}, From: []string{}}}),
 		PullListMapEquals,
 		map[string]PullList{})
 
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{To: []string{}, From: []string{"f1", "f2"}}}),
+			locator1: {To: []string{}, From: []string{"f1", "f2"}}}),
 		PullListMapEquals,
 		map[string]PullList{})
 
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{To: []string{"t1"}, From: []string{"f1", "f2"}}}),
+			locator1: {To: []string{"t1"}, From: []string{"f1", "f2"}}}),
 		PullListMapEquals,
 		map[string]PullList{
-			"t1": PullList{PullRequest{locator1, []string{"f1", "f2"}}}})
+			"t1": {PullRequest{locator1, []string{"f1", "f2"}}}})
 
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{To: []string{"t1"}, From: []string{}}}),
+			locator1: {To: []string{"t1"}, From: []string{}}}),
 		PullListMapEquals,
-		map[string]PullList{"t1": PullList{
+		map[string]PullList{"t1": {
 			PullRequest{locator1, []string{}}}})
 
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{
+			locator1: {
 				To:   []string{"t1", "t2"},
 				From: []string{"f1", "f2"},
 			}}),
 		PullListMapEquals,
 		map[string]PullList{
-			"t1": PullList{PullRequest{locator1, []string{"f1", "f2"}}},
-			"t2": PullList{PullRequest{locator1, []string{"f1", "f2"}}},
+			"t1": {PullRequest{locator1, []string{"f1", "f2"}}},
+			"t2": {PullRequest{locator1, []string{"f1", "f2"}}},
 		})
 
 	locator2 := Locator{Digest: blockdigest.MakeTestBlockDigest(0xCabbed)}
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{To: []string{"t1"}, From: []string{"f1", "f2"}},
-			locator2: PullServers{To: []string{"t2"}, From: []string{"f3", "f4"}}}),
+			locator1: {To: []string{"t1"}, From: []string{"f1", "f2"}},
+			locator2: {To: []string{"t2"}, From: []string{"f3", "f4"}}}),
 		PullListMapEquals,
 		map[string]PullList{
-			"t1": PullList{PullRequest{locator1, []string{"f1", "f2"}}},
-			"t2": PullList{PullRequest{locator2, []string{"f3", "f4"}}},
+			"t1": {PullRequest{locator1, []string{"f1", "f2"}}},
+			"t2": {PullRequest{locator2, []string{"f3", "f4"}}},
 		})
 
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{
+			locator1: {
 				To:   []string{"t1"},
 				From: []string{"f1", "f2"}},
-			locator2: PullServers{
+			locator2: {
 				To:   []string{"t2", "t1"},
 				From: []string{"f3", "f4"}},
 		}),
 		PullListMapEquals,
 		map[string]PullList{
-			"t1": PullList{
+			"t1": {
 				PullRequest{locator1, []string{"f1", "f2"}},
 				PullRequest{locator2, []string{"f3", "f4"}},
 			},
-			"t2": PullList{
+			"t2": {
 				PullRequest{locator2, []string{"f3", "f4"}},
 			},
 		})
@@ -235,37 +235,37 @@ func (s *PullSuite) TestBuildPullLists(c *C) {
 	locator4 := Locator{Digest: blockdigest.MakeTestBlockDigest(0xFedBeef)}
 	c.Check(
 		BuildPullLists(map[Locator]PullServers{
-			locator1: PullServers{
+			locator1: {
 				To:   []string{"t1"},
 				From: []string{"f1", "f2"}},
-			locator2: PullServers{
+			locator2: {
 				To:   []string{"t2", "t1"},
 				From: []string{"f3", "f4"}},
-			locator3: PullServers{
+			locator3: {
 				To:   []string{"t3", "t2", "t1"},
 				From: []string{"f4", "f5"}},
-			locator4: PullServers{
+			locator4: {
 				To:   []string{"t4", "t3", "t2", "t1"},
 				From: []string{"f1", "f5"}},
 		}),
 		PullListMapEquals,
 		map[string]PullList{
-			"t1": PullList{
+			"t1": {
 				PullRequest{locator1, []string{"f1", "f2"}},
 				PullRequest{locator2, []string{"f3", "f4"}},
 				PullRequest{locator3, []string{"f4", "f5"}},
 				PullRequest{locator4, []string{"f1", "f5"}},
 			},
-			"t2": PullList{
+			"t2": {
 				PullRequest{locator2, []string{"f3", "f4"}},
 				PullRequest{locator3, []string{"f4", "f5"}},
 				PullRequest{locator4, []string{"f1", "f5"}},
 			},
-			"t3": PullList{
+			"t3": {
 				PullRequest{locator3, []string{"f4", "f5"}},
 				PullRequest{locator4, []string{"f1", "f5"}},
 			},
-			"t4": PullList{
+			"t4": {
 				PullRequest{locator4, []string{"f1", "f5"}},
 			},
 		})
diff --git a/services/datamanager/summary/summary_test.go b/services/datamanager/summary/summary_test.go
index cc4eb92..8268404 100644
--- a/services/datamanager/summary/summary_test.go
+++ b/services/datamanager/summary/summary_test.go
@@ -85,21 +85,21 @@ func VerifyToCollectionIndexSet(
 }
 
 func TestToCollectionIndexSet(t *testing.T) {
-	VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{6: []int{0}}, []int{0})
-	VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: []int{1}}, []int{1})
-	VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: []int{1, 9}}, []int{1, 9})
+	VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{6: {0}}, []int{0})
+	VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: {1}}, []int{1})
+	VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: {1, 9}}, []int{1, 9})
 	VerifyToCollectionIndexSet(t, []int{5, 6},
-		map[int][]int{5: []int{2, 3}, 6: []int{3, 4}},
+		map[int][]int{5: {2, 3}, 6: {3, 4}},
 		[]int{2, 3, 4})
 	VerifyToCollectionIndexSet(t, []int{5, 6},
-		map[int][]int{5: []int{8}, 6: []int{4}},
+		map[int][]int{5: {8}, 6: {4}},
 		[]int{4, 8})
-	VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{5: []int{0}}, []int{})
+	VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{5: {0}}, []int{})
 }
 
 func TestSimpleSummary(t *testing.T) {
 	rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-		collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{1, 2}},
+		{ReplicationLevel: 1, Blocks: []int{1, 2}},
 	})
 	rc.Summarize(nil)
 	cIndex := rc.CollectionIndicesForTesting()
@@ -128,7 +128,7 @@ func TestSimpleSummary(t *testing.T) {
 
 func TestMissingBlock(t *testing.T) {
 	rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-		collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{1, 2}},
+		{ReplicationLevel: 1, Blocks: []int{1, 2}},
 	})
 	rc.Summarize(nil)
 	cIndex := rc.CollectionIndicesForTesting()
@@ -159,7 +159,7 @@ func TestMissingBlock(t *testing.T) {
 
 func TestUnderAndOverReplicatedBlocks(t *testing.T) {
 	rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-		collection.TestCollectionSpec{ReplicationLevel: 2, Blocks: []int{1, 2}},
+		{ReplicationLevel: 2, Blocks: []int{1, 2}},
 	})
 	rc.Summarize(nil)
 	cIndex := rc.CollectionIndicesForTesting()
@@ -190,9 +190,9 @@ func TestUnderAndOverReplicatedBlocks(t *testing.T) {
 
 func TestMixedReplication(t *testing.T) {
 	rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-		collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{1, 2}},
-		collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{3, 4}},
-		collection.TestCollectionSpec{ReplicationLevel: 2, Blocks: []int{5, 6}},
+		{ReplicationLevel: 1, Blocks: []int{1, 2}},
+		{ReplicationLevel: 1, Blocks: []int{3, 4}},
+		{ReplicationLevel: 2, Blocks: []int{5, 6}},
 	})
 	rc.Summarize(nil)
 	cIndex := rc.CollectionIndicesForTesting()
diff --git a/services/datamanager/summary/trash_list_test.go b/services/datamanager/summary/trash_list_test.go
index 555211f..3626904 100644
--- a/services/datamanager/summary/trash_list_test.go
+++ b/services/datamanager/summary/trash_list_test.go
@@ -26,12 +26,12 @@ func (s *TrashSuite) TestBuildTrashLists(c *C) {
 	var keepServerInfo = keep.ReadServers{
 		KeepServerIndexToAddress: []keep.ServerAddress{sv0, sv1},
 		BlockToServers: map[blockdigest.DigestWithSize][]keep.BlockServerInfo{
-			block0: []keep.BlockServerInfo{
-				keep.BlockServerInfo{0, 99},
-				keep.BlockServerInfo{1, 101}},
-			block1: []keep.BlockServerInfo{
-				keep.BlockServerInfo{0, 99},
-				keep.BlockServerInfo{1, 101}}}}
+			block0: {
+				{0, 99},
+				{1, 101}},
+			block1: {
+				{0, 99},
+				{1, 101}}}}
 
 	// only block0 is in delete set
 	var bs = make(BlockSet)
@@ -40,37 +40,37 @@ func (s *TrashSuite) TestBuildTrashLists(c *C) {
 	// Test trash list where only sv0 is on writable list.
 	c.Check(buildTrashListsInternal(
 		map[string]struct{}{
-			sv0.URL(): struct{}{}},
+			sv0.URL(): {}},
 		&keepServerInfo,
 		110,
 		bs),
 		DeepEquals,
 		map[string]keep.TrashList{
-			"http://keep0.example.com:80": keep.TrashList{keep.TrashRequest{"000000000000000000000000deadbeef", 99}}})
+			"http://keep0.example.com:80": {keep.TrashRequest{"000000000000000000000000deadbeef", 99}}})
 
 	// Test trash list where both sv0 and sv1 are on writable list.
 	c.Check(buildTrashListsInternal(
 		map[string]struct{}{
-			sv0.URL(): struct{}{},
-			sv1.URL(): struct{}{}},
+			sv0.URL(): {},
+			sv1.URL(): {}},
 		&keepServerInfo,
 		110,
 		bs),
 		DeepEquals,
 		map[string]keep.TrashList{
-			"http://keep0.example.com:80": keep.TrashList{keep.TrashRequest{"000000000000000000000000deadbeef", 99}},
-			"http://keep1.example.com:80": keep.TrashList{keep.TrashRequest{"000000000000000000000000deadbeef", 101}}})
+			"http://keep0.example.com:80": {keep.TrashRequest{"000000000000000000000000deadbeef", 99}},
+			"http://keep1.example.com:80": {keep.TrashRequest{"000000000000000000000000deadbeef", 101}}})
 
 	// Test trash list where only block on sv0 is expired
 	c.Check(buildTrashListsInternal(
 		map[string]struct{}{
-			sv0.URL(): struct{}{},
-			sv1.URL(): struct{}{}},
+			sv0.URL(): {},
+			sv1.URL(): {}},
 		&keepServerInfo,
 		100,
 		bs),
 		DeepEquals,
 		map[string]keep.TrashList{
-			"http://keep0.example.com:80": keep.TrashList{keep.TrashRequest{"000000000000000000000000deadbeef", 99}}})
+			"http://keep0.example.com:80": {keep.TrashRequest{"000000000000000000000000deadbeef", 99}}})
 
 }
diff --git a/services/keep-balance/balance.go b/services/keep-balance/balance.go
index fa585d3..d22074e 100644
--- a/services/keep-balance/balance.go
+++ b/services/keep-balance/balance.go
@@ -619,7 +619,7 @@ func (bal *Balancer) commitAsync(c *arvados.Client, label string, f func(srv *Ke
 		}(srv)
 	}
 	var lastErr error
-	for _ = range bal.KeepServices {
+	for range bal.KeepServices {
 		if err := <-errs; err != nil {
 			bal.logf("%v", err)
 			lastErr = err
diff --git a/services/keepstore/s3_volume.go b/services/keepstore/s3_volume.go
index b1b198d..98e1203 100644
--- a/services/keepstore/s3_volume.go
+++ b/services/keepstore/s3_volume.go
@@ -86,7 +86,7 @@ func (s *s3VolumeAdder) Set(bucketName string) error {
 }
 
 func s3regions() (okList []string) {
-	for r, _ := range aws.Regions {
+	for r := range aws.Regions {
 		okList = append(okList, r)
 	}
 	return
diff --git a/services/keepstore/work_queue_test.go b/services/keepstore/work_queue_test.go
index 74c67f2..6b31795 100644
--- a/services/keepstore/work_queue_test.go
+++ b/services/keepstore/work_queue_test.go
@@ -98,7 +98,7 @@ func TestWorkQueueDoneness(t *testing.T) {
 	gate := make(chan struct{})
 	go func() {
 		<-gate
-		for _ = range b.NextItem {
+		for range b.NextItem {
 			<-gate
 			time.Sleep(time.Millisecond)
 			b.DoneItem <- struct{}{}

commit 748b188cf7dee819a3c4e787146a50b59135fbd7
Author: Tom Clegg <tom at curoverse.com>
Date:   Thu Jun 23 16:19:30 2016 -0400

    9437: Report timestamps as nanoseconds since epoch in keepstore index.

diff --git a/sdk/go/arvados/keep_service.go b/sdk/go/arvados/keep_service.go
index 4af1b79..87dbd2a 100644
--- a/sdk/go/arvados/keep_service.go
+++ b/sdk/go/arvados/keep_service.go
@@ -30,6 +30,7 @@ type KeepServiceList struct {
 // us about a stored block.
 type KeepServiceIndexEntry struct {
 	SizedDigest
+	// Time of last write, in nanoseconds since Unix epoch
 	Mtime int64
 }
 
diff --git a/services/datamanager/summary/trash_list.go b/services/datamanager/summary/trash_list.go
index b6ceace..3e4d387 100644
--- a/services/datamanager/summary/trash_list.go
+++ b/services/datamanager/summary/trash_list.go
@@ -29,7 +29,7 @@ func BuildTrashLists(kc *keepclient.KeepClient,
 	ttl := int64(_ttl.(float64))
 
 	// expire unreferenced blocks more than "ttl" seconds old.
-	expiry := time.Now().UTC().Unix() - ttl
+	expiry := time.Now().UTC().UnixNano() - ttl*1e9
 
 	return buildTrashListsInternal(writableServers, keepServerInfo, expiry, keepBlocksNotInCollections), nil
 }
diff --git a/services/keep-balance/balance.go b/services/keep-balance/balance.go
index 2d1a59e..fa585d3 100644
--- a/services/keep-balance/balance.go
+++ b/services/keep-balance/balance.go
@@ -199,7 +199,7 @@ func (bal *Balancer) GetCurrentState(c *arvados.Client, pageSize, bufs int) erro
 		return err
 	}
 	bal.DefaultReplication = dd.DefaultCollectionReplication
-	bal.MinMtime = time.Now().Unix() - dd.BlobSignatureTTL
+	bal.MinMtime = time.Now().UnixNano() - dd.BlobSignatureTTL*1e9
 
 	errs := make(chan error, 2+len(bal.KeepServices))
 	wg := sync.WaitGroup{}
diff --git a/services/keep-balance/balance_test.go b/services/keep-balance/balance_test.go
index 682a5fb..b93939c 100644
--- a/services/keep-balance/balance_test.go
+++ b/services/keep-balance/balance_test.go
@@ -76,7 +76,7 @@ func (bal *balancerSuite) SetUpTest(c *check.C) {
 		bal.KeepServices[srv.UUID] = srv
 	}
 
-	bal.MinMtime = time.Now().Unix() - bal.signatureTTL
+	bal.MinMtime = time.Now().UnixNano() - bal.signatureTTL*1e9
 }
 
 func (bal *balancerSuite) TestPerfect(c *check.C) {
@@ -240,7 +240,7 @@ func (bal *balancerSuite) srvList(knownBlockID int, order slots) (srvs []*KeepSe
 // replList is like srvList but returns an "existing replicas" slice,
 // suitable for a BlockState test fixture.
 func (bal *balancerSuite) replList(knownBlockID int, order slots) (repls []Replica) {
-	mtime := time.Now().Unix() - bal.signatureTTL - 86400
+	mtime := time.Now().UnixNano() - (bal.signatureTTL+86400)*1e9
 	for _, srv := range bal.srvList(knownBlockID, order) {
 		repls = append(repls, Replica{srv, mtime})
 		mtime++
diff --git a/services/keepstore/azure_blob_volume.go b/services/keepstore/azure_blob_volume.go
index 99da2a3..48cb026 100644
--- a/services/keepstore/azure_blob_volume.go
+++ b/services/keepstore/azure_blob_volume.go
@@ -350,7 +350,7 @@ func (v *AzureBlobVolume) IndexTo(prefix string, writer io.Writer) error {
 				// Trashed blob; exclude it from response
 				continue
 			}
-			fmt.Fprintf(writer, "%s+%d %d\n", b.Name, b.Properties.ContentLength, t.Unix())
+			fmt.Fprintf(writer, "%s+%d %d\n", b.Name, b.Properties.ContentLength, t.UnixNano())
 		}
 		if resp.NextMarker == "" {
 			return nil
diff --git a/services/keepstore/s3_volume.go b/services/keepstore/s3_volume.go
index 80a7c89..b1b198d 100644
--- a/services/keepstore/s3_volume.go
+++ b/services/keepstore/s3_volume.go
@@ -249,7 +249,7 @@ func (v *S3Volume) IndexTo(prefix string, writer io.Writer) error {
 			if !v.isKeepBlock(key.Key) {
 				continue
 			}
-			fmt.Fprintf(writer, "%s+%d %d\n", key.Key, key.Size, t.Unix())
+			fmt.Fprintf(writer, "%s+%d %d\n", key.Key, key.Size, t.UnixNano())
 		}
 		if !listResp.IsTruncated {
 			break
diff --git a/services/keepstore/trash_worker.go b/services/keepstore/trash_worker.go
index 62f63d5..d11bc05 100644
--- a/services/keepstore/trash_worker.go
+++ b/services/keepstore/trash_worker.go
@@ -22,7 +22,7 @@ func RunTrashWorker(trashq *WorkQueue) {
 
 // TrashItem deletes the indicated block from every writable volume.
 func TrashItem(trashRequest TrashRequest) {
-	reqMtime := time.Unix(trashRequest.BlockMtime, 0)
+	reqMtime := time.Unix(0, trashRequest.BlockMtime)
 	if time.Since(reqMtime) < blobSignatureTTL {
 		log.Printf("WARNING: data manager asked to delete a %v old block %v (BlockMtime %d = %v), but my blobSignatureTTL is %v! Skipping.",
 			time.Since(reqMtime),
@@ -39,8 +39,8 @@ func TrashItem(trashRequest TrashRequest) {
 			log.Printf("%v Delete(%v): %v", volume, trashRequest.Locator, err)
 			continue
 		}
-		if trashRequest.BlockMtime != mtime.Unix() {
-			log.Printf("%v Delete(%v): mtime on volume is %v does not match trash list value %v", volume, trashRequest.Locator, mtime.Unix(), trashRequest.BlockMtime)
+		if trashRequest.BlockMtime != mtime.UnixNano() {
+			log.Printf("%v Delete(%v): stored mtime %v does not match trash list value %v", volume, trashRequest.Locator, mtime.UnixNano(), trashRequest.BlockMtime)
 			continue
 		}
 
diff --git a/services/keepstore/trash_worker_test.go b/services/keepstore/trash_worker_test.go
index d111cae..94798d9 100644
--- a/services/keepstore/trash_worker_test.go
+++ b/services/keepstore/trash_worker_test.go
@@ -236,7 +236,7 @@ func performTrashWorkerTest(testData TrashWorkerTestData, t *testing.T) {
 	// Create TrashRequest for the test
 	trashRequest := TrashRequest{
 		Locator:    testData.DeleteLocator,
-		BlockMtime: oldBlockTime.Unix(),
+		BlockMtime: oldBlockTime.UnixNano(),
 	}
 
 	// Run trash worker and put the trashRequest on trashq
diff --git a/services/keepstore/volume_generic_test.go b/services/keepstore/volume_generic_test.go
index f8fe0d0..4291c6c 100644
--- a/services/keepstore/volume_generic_test.go
+++ b/services/keepstore/volume_generic_test.go
@@ -7,6 +7,7 @@ import (
 	"os"
 	"regexp"
 	"sort"
+	"strconv"
 	"strings"
 	"time"
 
@@ -355,10 +356,22 @@ func testIndexTo(t TB, factory TestableVolumeFactory) {
 	v := factory(t)
 	defer v.Teardown()
 
+	// minMtime and maxMtime are the minimum and maximum
+	// acceptable values the index can report for our test
+	// blocks. 1-second precision is acceptable.
+	minMtime := time.Now().UTC().UnixNano()
+	minMtime -= minMtime % 1e9
+
 	v.PutRaw(TestHash, TestBlock)
 	v.PutRaw(TestHash2, TestBlock2)
 	v.PutRaw(TestHash3, TestBlock3)
 
+	maxMtime := time.Now().UTC().UnixNano()
+	if maxMtime%1e9 > 0 {
+		maxMtime -= maxMtime % 1e9
+		maxMtime += 1e9
+	}
+
 	// Blocks whose names aren't Keep hashes should be omitted from
 	// index
 	v.PutRaw("fffffffffnotreallyahashfffffffff", nil)
@@ -371,15 +384,21 @@ func testIndexTo(t TB, factory TestableVolumeFactory) {
 	indexRows := strings.Split(string(buf.Bytes()), "\n")
 	sort.Strings(indexRows)
 	sortedIndex := strings.Join(indexRows, "\n")
-	m, err := regexp.MatchString(
-		`^\n`+TestHash+`\+\d+ \d+\n`+
-			TestHash3+`\+\d+ \d+\n`+
-			TestHash2+`\+\d+ \d+$`,
-		sortedIndex)
-	if err != nil {
-		t.Error(err)
-	} else if !m {
+	m := regexp.MustCompile(
+		`^\n` + TestHash + `\+\d+ (\d+)\n` +
+			TestHash3 + `\+\d+ \d+\n` +
+			TestHash2 + `\+\d+ \d+$`,
+	).FindStringSubmatch(sortedIndex)
+	if m == nil {
 		t.Errorf("Got index %q for empty prefix", sortedIndex)
+	} else {
+		mtime, err := strconv.ParseInt(m[1], 10, 64)
+		if err != nil {
+			t.Error(err)
+		} else if mtime < minMtime || mtime > maxMtime {
+			t.Errorf("got %d for TestHash timestamp, expected %d <= t <= %d",
+				mtime, minMtime, maxMtime)
+		}
 	}
 
 	for _, prefix := range []string{"f", "f15", "f15ac"} {
@@ -396,7 +415,7 @@ func testIndexTo(t TB, factory TestableVolumeFactory) {
 
 	for _, prefix := range []string{"zero", "zip", "zilch"} {
 		buf = new(bytes.Buffer)
-		v.IndexTo(prefix, buf)
+		err := v.IndexTo(prefix, buf)
 		if err != nil {
 			t.Errorf("Got error on IndexTo with no such prefix %v", err.Error())
 		} else if buf.Len() != 0 {
diff --git a/services/keepstore/volume_unix.go b/services/keepstore/volume_unix.go
index 7aff85e..90189dc 100644
--- a/services/keepstore/volume_unix.go
+++ b/services/keepstore/volume_unix.go
@@ -138,9 +138,8 @@ func (v *UnixVolume) Touch(loc string) error {
 		return e
 	}
 	defer unlockfile(f)
-	now := time.Now().Unix()
-	utime := syscall.Utimbuf{now, now}
-	return syscall.Utime(p, &utime)
+	ts := syscall.NsecToTimespec(time.Now().UnixNano())
+	return syscall.UtimesNano(p, []syscall.Timespec{ts, ts})
 }
 
 // Mtime returns the stored timestamp for the given locator.
@@ -353,7 +352,7 @@ func (v *UnixVolume) IndexTo(prefix string, w io.Writer) error {
 			_, err = fmt.Fprint(w,
 				name,
 				"+", fileInfo[0].Size(),
-				" ", fileInfo[0].ModTime().Unix(),
+				" ", fileInfo[0].ModTime().UnixNano(),
 				"\n")
 		}
 		blockdir.Close()

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list