Skip to content

Commit

Permalink
go.mod: update gocache to commit 6d6288323ca2
Browse files Browse the repository at this point in the history
Update naming of "object ID" to "output ID" to match the approved style
from https://go-review.googlesource.com/c/go/+/626035.
  • Loading branch information
creachadair committed Nov 13, 2024
1 parent 98aba19 commit d939a69
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 29 deletions.
10 changes: 5 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ require (
github.com/aws/aws-sdk-go-v2/config v1.27.28
github.com/aws/aws-sdk-go-v2/service/s3 v1.59.0
github.com/creachadair/atomicfile v0.3.5
github.com/creachadair/command v0.1.16
github.com/creachadair/flax v0.0.1
github.com/creachadair/gocache v0.0.0-20240920041939-aa7478a735b8
github.com/creachadair/mds v0.21.2
github.com/creachadair/command v0.1.17
github.com/creachadair/flax v0.0.2
github.com/creachadair/gocache v0.0.0-20241113195030-6d6288323ca2
github.com/creachadair/mds v0.21.4
github.com/creachadair/mhttp v0.0.0-20240908014720-a77225a19b8b
github.com/creachadair/scheddle v0.0.0-20240919010233-b6854e09d972
github.com/creachadair/taskgroup v0.12.0
github.com/creachadair/taskgroup v0.13.0
github.com/creachadair/tlsutil v0.0.0-20240907154432-0ca1e46ff43d
github.com/goproxy/goproxy v0.17.2
golang.org/x/sync v0.8.0
Expand Down
20 changes: 10 additions & 10 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,22 @@ github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/creachadair/atomicfile v0.3.5 h1:i93bxeaH/rQR6XfJslola3XkOM1nEP3eIexuk9SWcSc=
github.com/creachadair/atomicfile v0.3.5/go.mod h1:m7kIY2OUMygtETnMYe141rubsG4b+EusFLinlxxdHYM=
github.com/creachadair/command v0.1.16 h1:FTheS4LCtyd3pLI7fX3Oc/qATYUtMIE5V6wJKUJvdEU=
github.com/creachadair/command v0.1.16/go.mod h1:JyiZVgQzhzPWa8DdE6Hfl+IOi7DMpXToBEvQCQoST7c=
github.com/creachadair/flax v0.0.1 h1:it+joEf9aEUalaV7XWll/pk6zA4/FbNvMImW9q/lS8o=
github.com/creachadair/flax v0.0.1/go.mod h1:K8bFvn8hMdAljQkaKNc7I3os5Wk36JxkyCkfdZ7S8d4=
github.com/creachadair/gocache v0.0.0-20240920041939-aa7478a735b8 h1:wCzwOo+/ZhrX24d8tiDZsn9DexaauLlLbSHQl/yIMI8=
github.com/creachadair/gocache v0.0.0-20240920041939-aa7478a735b8/go.mod h1:bLrj9QFo1TuLFWPjknZk9LXBGTZCPpB2mEzHGxXKMdg=
github.com/creachadair/mds v0.21.2 h1:D5130qi/kqmu+gGUQyDNOhrocGQp075ziTCgttxhh3k=
github.com/creachadair/mds v0.21.2/go.mod h1:1ltMWZd9yXhaHEoZwBialMaviWVUpRPvMwVP7saFAzM=
github.com/creachadair/command v0.1.17 h1:2ZHtS5u/32RdbPYNQrpu9Wf5i6zEuq5YtwcIQQddi7o=
github.com/creachadair/command v0.1.17/go.mod h1:JyiZVgQzhzPWa8DdE6Hfl+IOi7DMpXToBEvQCQoST7c=
github.com/creachadair/flax v0.0.2 h1:E0cc6njSIhSh6wSP9jSp/Rdx9pPDtru4vhaazxbNU5k=
github.com/creachadair/flax v0.0.2/go.mod h1:K8bFvn8hMdAljQkaKNc7I3os5Wk36JxkyCkfdZ7S8d4=
github.com/creachadair/gocache v0.0.0-20241113195030-6d6288323ca2 h1:L5/5m9gmqfDhGBjIgqq3jly8kT8m3OSYuIA5EXUp+Ps=
github.com/creachadair/gocache v0.0.0-20241113195030-6d6288323ca2/go.mod h1:9BNK4UqnyFY8qt5Bl7XthjMRRckOMAFGRaxSZ+ED7rY=
github.com/creachadair/mds v0.21.4 h1:osKuLbjkV7YswBnhuTJh1lCDkqZMQnNfFVn0j8wLpz8=
github.com/creachadair/mds v0.21.4/go.mod h1:1ltMWZd9yXhaHEoZwBialMaviWVUpRPvMwVP7saFAzM=
github.com/creachadair/mhttp v0.0.0-20240908014720-a77225a19b8b h1:B6laO9uL+fvT6rwhABEyYBs7MT6YgnDa7HyU5wypqEI=
github.com/creachadair/mhttp v0.0.0-20240908014720-a77225a19b8b/go.mod h1:WDSdP3YUQE4YJNxq77RUCZRIvh1l2o8y58bbHsBffo4=
github.com/creachadair/msync v0.3.0 h1:7FoPzwrM4gAdfsj7mcVyodKV82fArJaKcgr9j9whYww=
github.com/creachadair/msync v0.3.0/go.mod h1:XjAfMt+upDhbx3FeGJ1zkqQIm55E9xw/pWzITwVaIoI=
github.com/creachadair/scheddle v0.0.0-20240919010233-b6854e09d972 h1:bWA80ILWcqGxveRewDQwf4nRF8E90SiCxqVo0DaOFxg=
github.com/creachadair/scheddle v0.0.0-20240919010233-b6854e09d972/go.mod h1:PwCiUu3BYgSeOurdoA/+kDA5X39Z9JXRKDGUpkeKPCY=
github.com/creachadair/taskgroup v0.12.0 h1:AWk1vgMp1VjmwRUJkbX/XZxDRI+gCWhVr+Slj2LeJ+A=
github.com/creachadair/taskgroup v0.12.0/go.mod h1:9oDDPt/5QPS4iylvPMC81GRlj+1je8AFDbjUh4zaQWo=
github.com/creachadair/taskgroup v0.13.0 h1:VKaW1fi1/Erkkrvx4NvaddzHCGA+hh5QPc5Veiq+joI=
github.com/creachadair/taskgroup v0.13.0/go.mod h1:9oDDPt/5QPS4iylvPMC81GRlj+1je8AFDbjUh4zaQWo=
github.com/creachadair/tlsutil v0.0.0-20240907154432-0ca1e46ff43d h1:euNk+jFY3ytIBBMtXY80gbMK0pA4bXTYHbkxwEUgnKU=
github.com/creachadair/tlsutil v0.0.0-20240907154432-0ca1e46ff43d/go.mod h1:QMYeSCtv6WYPxroqKtL1/5p4vG2SdWiBYiTxo4y0FMc=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
Expand Down
28 changes: 14 additions & 14 deletions lib/gobuild/gobuild.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func (s *S3Cache) init() {
}

// Get implements the corresponding callback of the cache protocol.
func (s *S3Cache) Get(ctx context.Context, actionID string) (objectID, diskPath string, _ error) {
func (s *S3Cache) Get(ctx context.Context, actionID string) (outputID, diskPath string, _ error) {
s.init()

objID, diskPath, err := s.Local.Get(ctx, actionID)
Expand All @@ -116,29 +116,29 @@ func (s *S3Cache) Get(ctx context.Context, actionID string) (objectID, diskPath
}

// We got an action hit remotely, try to update the local copy.
objectID, mtime, err := parseAction(action)
outputID, mtime, err := parseAction(action)
if err != nil {
return "", "", err
}

object, err := s.S3Client.GetData(ctx, s.objectKey(objectID))
object, err := s.S3Client.GetData(ctx, s.outputKey(outputID))
if err != nil {
// At this point we know the action exists, so if we can't read the
// object report it as an error rather than a cache miss.
return "", "", fmt.Errorf("[s3] read object %s: %w", objectID, err)
return "", "", fmt.Errorf("[s3] read object %s: %w", outputID, err)
}
s.getFaultHit.Add(1)

// Now we should have the body; poke it into the local cache. Preserve the
// modification timestamp recorded with the original action.
diskPath, err = s.Local.Put(ctx, gocache.Object{
ActionID: actionID,
ObjectID: objectID,
OutputID: outputID,
Size: int64(len(object)),
Body: bytes.NewReader(object),
ModTime: mtime,
})
return objectID, diskPath, err
return outputID, diskPath, err
}

// Put implements the corresponding callback of the cache protocol.
Expand Down Expand Up @@ -168,14 +168,14 @@ func (s *S3Cache) Put(ctx context.Context, obj gocache.Object) (diskPath string,

// Stage 1: Maybe write the object. Do this before writing the action
// record so we are less likely to get a spurious miss later.
mtime, err := s.maybePutObject(sctx, obj.ObjectID, diskPath, etr.ETag())
mtime, err := s.maybePutObject(sctx, obj.OutputID, diskPath, etr.ETag())
if err != nil {
return err
}

// Stage 2: Write the action record.
if err := s.S3Client.Put(ctx, s.actionKey(obj.ActionID),
strings.NewReader(fmt.Sprintf("%s %d", obj.ObjectID, mtime.UnixNano()))); err != nil {
strings.NewReader(fmt.Sprintf("%s %d", obj.OutputID, mtime.UnixNano()))); err != nil {
gocache.Logf(ctx, "write action %s: %v", obj.ActionID, err)
return err
}
Expand Down Expand Up @@ -212,10 +212,10 @@ func (s *S3Cache) SetMetrics(_ context.Context, m *expvar.Map) {
// maybePutObject writes the specified object contents to S3 if there is not
// already a matching key with the same etag. It returns the modified time of
// the object file, whether or not it was sent to S3.
func (s *S3Cache) maybePutObject(ctx context.Context, objectID, diskPath, etag string) (time.Time, error) {
func (s *S3Cache) maybePutObject(ctx context.Context, outputID, diskPath, etag string) (time.Time, error) {
f, err := os.Open(diskPath)
if err != nil {
gocache.Logf(ctx, "[s3] open local object %s: %v", objectID, err)
gocache.Logf(ctx, "[s3] open local object %s: %v", outputID, err)
return time.Time{}, err
}
defer f.Close()
Expand All @@ -224,10 +224,10 @@ func (s *S3Cache) maybePutObject(ctx context.Context, objectID, diskPath, etag s
return time.Time{}, err
}

written, err := s.S3Client.PutCond(ctx, s.objectKey(objectID), etag, f)
written, err := s.S3Client.PutCond(ctx, s.outputKey(outputID), etag, f)
if err != nil {
s.putS3Error.Add(1)
gocache.Logf(ctx, "[s3] put object %s: %v", objectID, err)
gocache.Logf(ctx, "[s3] put object %s: %v", outputID, err)
return fi.ModTime(), err
}
if written {
Expand All @@ -245,7 +245,7 @@ func (s *S3Cache) makeKey(parts ...string) string {
}

func (s *S3Cache) actionKey(id string) string { return s.makeKey("action", id[:2], id) }
func (s *S3Cache) objectKey(id string) string { return s.makeKey("object", id[:2], id) }
func (s *S3Cache) outputKey(id string) string { return s.makeKey("output", id[:2], id) }

func (s *S3Cache) uploadConcurrency() int {
if s.UploadConcurrency <= 0 {
Expand All @@ -254,7 +254,7 @@ func (s *S3Cache) uploadConcurrency() int {
return s.UploadConcurrency
}

func parseAction(data []byte) (objectID string, mtime time.Time, _ error) {
func parseAction(data []byte) (outputID string, mtime time.Time, _ error) {
fs := strings.Fields(string(data))
if len(fs) != 2 {
return "", time.Time{}, errors.New("invalid action record")
Expand Down

0 comments on commit d939a69

Please sign in to comment.