google-cloud-go
google-cloud-go copied to clipboard
datastore: RunInTransaction will backoff / sleep even if it's the last attempt
Client
Cloud Datastore
Environment
All Environments
Code and Dependencies
package main
import (
"context"
"log"
"sync"
"time"
"cloud.google.com/go/datastore"
)
var k = datastore.IDKey("TestFoo", 1, nil)
func updateIt(ctx context.Context, c *datastore.Client, i int) {
toCtx, cancelFn := context.WithTimeout(ctx, 10*time.Second)
defer cancelFn()
start := time.Now()
if _, err := c.RunInTransaction(toCtx, func(tx *datastore.Transaction) error {
var e entity
if err := tx.Get(k, &e); err != nil {
return err
}
if e.Thing2 == "modified" {
return nil
}
e.Thing2 = "modified"
if _, err := tx.Put(k, &e); err != nil {
return err
}
return nil
}, datastore.MaxAttempts(1)); err != nil {
log.Printf("[%03d %s] Error updating entity: %v", i, time.Since(start), err)
} else {
log.Printf("[%03d %s] Updated entity", i, time.Since(start))
}
}
type entity struct {
Thing1 string
Thing2 string
}
func main() {
ctx := context.Background()
c, err := datastore.NewClient(ctx, "pendo-ionchef")
if err != nil {
log.Fatalf("datastore.NewClient: %v", err)
}
e := entity{
Thing1: "One Fish",
Thing2: "Two Fish",
}
if _, err := c.Put(ctx, k, &e); err != nil {
log.Fatal(err)
}
var wg sync.WaitGroup
for i := 0; i < 200; i++ {
wg.Add(1)
i := i
go func() {
defer wg.Done()
updateIt(ctx, c, i)
}()
}
wg.Wait()
log.Println("Done.")
}
go.mod
module scratch
go 1.21
require cloud.google.com/go/datastore v1.17.1
require (
cloud.google.com/go v0.114.0 // indirect
cloud.google.com/go/auth v0.5.1 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect
cloud.google.com/go/compute/metadata v0.3.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/s2a-go v0.1.7 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
github.com/googleapis/gax-go/v2 v2.12.4 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
go.opentelemetry.io/otel v1.24.0 // indirect
go.opentelemetry.io/otel/metric v1.24.0 // indirect
go.opentelemetry.io/otel/trace v1.24.0 // indirect
golang.org/x/crypto v0.23.0 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/oauth2 v0.21.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.20.0 // indirect
golang.org/x/text v0.15.0 // indirect
golang.org/x/time v0.5.0 // indirect
google.golang.org/api v0.183.0 // indirect
google.golang.org/genproto v0.0.0-20240528184218-531527333157 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
google.golang.org/grpc v1.64.0 // indirect
google.golang.org/protobuf v1.34.1 // indirect
)
// uncomment this to test against the fix
//replace cloud.google.com/go/datastore v1.17.1 => github.com/pendo-io/google-cloud-go/datastore v1.0.1-0.20240829131339-abf77c09d0ae
Expected behavior
When running the sample code, I'd expect that the transactions would fail fast as only one attempt is being set. The test code should run in < 2s.
Note: to see the results with the patched code, uncomment the replace line in the provided go.mod file, run go mod tidy and go build`.
output when using patched code
❯ time ./scratch 2024/08/29 13:23:22 [007 335.6725ms] Updated entity 2024/08/29 13:23:22 [080 468.503542ms] Updated entity 2024/08/29 13:23:22 [082 473.003709ms] Updated entity 2024/08/29 13:23:22 [139 471.836166ms] Updated entity 2024/08/29 13:23:22 [100 480.360458ms] Updated entity 2024/08/29 13:23:22 [067 482.34325ms] Updated entity 2024/08/29 13:23:22 [056 487.756791ms] Updated entity 2024/08/29 13:23:22 [178 488.082458ms] Updated entity 2024/08/29 13:23:22 [029 514.704584ms] Updated entity 2024/08/29 13:23:22 [147 510.411792ms] Updated entity 2024/08/29 13:23:22 [197 504.899083ms] Updated entity 2024/08/29 13:23:22 [083 515.365958ms] Updated entity 2024/08/29 13:23:22 [050 523.907ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [074 518.389583ms] Updated entity 2024/08/29 13:23:22 [188 511.443042ms] Updated entity 2024/08/29 13:23:22 [098 517.97175ms] Updated entity 2024/08/29 13:23:22 [123 532.759416ms] Updated entity 2024/08/29 13:23:22 [076 540.63175ms] Updated entity 2024/08/29 13:23:22 [121 539.075292ms] Updated entity 2024/08/29 13:23:22 [021 563.563167ms] Updated entity 2024/08/29 13:23:22 [026 566.943417ms] Updated entity 2024/08/29 13:23:22 [146 559.529083ms] Updated entity 2024/08/29 13:23:22 [020 583.562458ms] Updated entity 2024/08/29 13:23:22 [158 576.772166ms] Updated entity 2024/08/29 13:23:22 [135 581.460542ms] Updated entity 2024/08/29 13:23:22 [162 584.4595ms] Updated entity 2024/08/29 13:23:22 [087 588.941708ms] Updated entity 2024/08/29 13:23:22 [004 596.01675ms] Updated entity 2024/08/29 13:23:22 [104 592.897875ms] Updated entity 2024/08/29 13:23:22 [085 594.599583ms] Updated entity 2024/08/29 13:23:22 [048 597.591917ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [008 601.213042ms] Updated entity 2024/08/29 13:23:22 [111 594.598417ms] Updated entity 2024/08/29 13:23:22 [011 602.172959ms] Updated entity 2024/08/29 13:23:22 [073 597.59425ms] Updated entity 2024/08/29 13:23:22 [181 587.532125ms] Updated entity 2024/08/29 13:23:22 [053 602.121834ms] Updated entity 2024/08/29 13:23:22 [075 605.468166ms] Updated entity 2024/08/29 13:23:22 [194 593.432958ms] Updated entity 2024/08/29 13:23:22 [099 611.720125ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [159 603.816916ms] Updated entity 2024/08/29 13:23:22 [145 606.483125ms] Updated entity 2024/08/29 13:23:22 [182 599.470125ms] Updated entity 2024/08/29 13:23:22 [064 614.505209ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [054 615.193291ms] Updated entity 2024/08/29 13:23:22 [077 615.310625ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [081 619.346083ms] Updated entity 2024/08/29 13:23:22 [002 625.407084ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [061 621.066334ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [177 612.229208ms] Updated entity 2024/08/29 13:23:22 [094 617.843542ms] Updated entity 2024/08/29 13:23:22 [120 622.84025ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [066 626.125833ms] Updated entity 2024/08/29 13:23:22 [105 623.890125ms] Updated entity 2024/08/29 13:23:22 [024 632.877917ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [071 629.021417ms] Updated entity 2024/08/29 13:23:22 [068 629.795083ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [118 632.662792ms] Updated entity 2024/08/29 13:23:22 [143 632.148958ms] Updated entity 2024/08/29 13:23:22 [185 625.038083ms] Updated entity 2024/08/29 13:23:22 [187 625.917959ms] Updated entity 2024/08/29 13:23:22 [103 635.126ms] Updated entity 2024/08/29 13:23:22 [018 641.178125ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [117 634.513083ms] Updated entity 2024/08/29 13:23:22 [069 639.422333ms] Updated entity 2024/08/29 13:23:22 [101 637.750292ms] Updated entity 2024/08/29 13:23:22 [051 644.731958ms] Updated entity 2024/08/29 13:23:22 [155 637.849209ms] Updated entity 2024/08/29 13:23:22 [097 632.706417ms] Updated entity 2024/08/29 13:23:22 [049 650.148792ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [109 642.95075ms] Updated entity 2024/08/29 13:23:22 [017 649.683ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [025 649.892959ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [036 650.153ms] Updated entity 2024/08/29 13:23:22 [070 647.34475ms] Updated entity 2024/08/29 13:23:22 [164 648.173417ms] Updated entity 2024/08/29 13:23:22 [078 655.709709ms] Updated entity 2024/08/29 13:23:22 [034 667.981708ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [150 661.246ms] Updated entity 2024/08/29 13:23:22 [173 661.152625ms] Updated entity 2024/08/29 13:23:22 [055 667.482542ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [129 663.561334ms] Updated entity 2024/08/29 13:23:22 [136 663.481916ms] Updated entity 2024/08/29 13:23:22 [095 661.471459ms] Updated entity 2024/08/29 13:23:22 [172 661.784292ms] Updated entity 2024/08/29 13:23:22 [196 660.022583ms] Updated entity 2024/08/29 13:23:22 [086 670.261917ms] Updated entity 2024/08/29 13:23:22 [045 673.683791ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [090 672.825041ms] Updated entity 2024/08/29 13:23:22 [023 682.440667ms] Updated entity 2024/08/29 13:23:22 [014 682.998625ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [132 675.509416ms] Updated entity 2024/08/29 13:23:22 [119 676.175208ms] Updated entity 2024/08/29 13:23:22 [052 680.031125ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [000 684.226708ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [047 681.358958ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [171 674.449709ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [190 674.0205ms] Updated entity 2024/08/29 13:23:22 [198 673.7595ms] Updated entity 2024/08/29 13:23:22 [149 683.585458ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [042 689.787334ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [126 684.224083ms] Updated entity 2024/08/29 13:23:22 [141 684.71475ms] Updated entity 2024/08/29 13:23:22 [009 698.863791ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [142 692.045916ms] Updated entity 2024/08/29 13:23:22 [165 702.73275ms] Updated entity 2024/08/29 13:23:22 [176 697.0685ms] Updated entity 2024/08/29 13:23:22 [102 706.117ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [059 708.599709ms] Updated entity 2024/08/29 13:23:22 [130 704.739708ms] Updated entity 2024/08/29 13:23:22 [063 709.422833ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [168 703.9135ms] Updated entity 2024/08/29 13:23:22 [037 711.741834ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [005 713.865333ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [174 705.2455ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [006 714.1215ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [010 713.922583ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [089 704.288292ms] Updated entity 2024/08/29 13:23:22 [092 708.437208ms] Updated entity 2024/08/29 13:23:22 [039 721.342375ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [001 725.449958ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [060 721.111ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [186 715.000291ms] Updated entity 2024/08/29 13:23:22 [016 724.869708ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [084 719.572875ms] Updated entity 2024/08/29 13:23:22 [044 722.731959ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [031 724.315666ms] Updated entity 2024/08/29 13:23:22 [157 718.717833ms] Updated entity 2024/08/29 13:23:22 [133 720.4585ms] Updated entity 2024/08/29 13:23:22 [093 718.80675ms] Updated entity 2024/08/29 13:23:22 [043 726.764084ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [046 727.455375ms] Updated entity 2024/08/29 13:23:22 [175 714.916916ms] Updated entity 2024/08/29 13:23:22 [030 729.209667ms] Updated entity 2024/08/29 13:23:22 [151 721.81875ms] Updated entity 2024/08/29 13:23:22 [131 722.500125ms] Updated entity 2024/08/29 13:23:22 [134 723.676542ms] Updated entity 2024/08/29 13:23:22 [040 729.721333ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [013 733.3945ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [058 729.883583ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [140 725.6265ms] Updated entity 2024/08/29 13:23:22 [148 725.480375ms] Updated entity 2024/08/29 13:23:22 [003 735.292667ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [057 731.264542ms] Updated entity 2024/08/29 13:23:22 [027 734.21525ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [088 725.306125ms] Updated entity 2024/08/29 13:23:22 [122 727.645292ms] Updated entity 2024/08/29 13:23:22 [170 725.530667ms] Updated entity 2024/08/29 13:23:22 [169 730.421917ms] Updated entity 2024/08/29 13:23:22 [012 746.561ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [028 745.853625ms] Updated entity 2024/08/29 13:23:22 [114 739.920542ms] Updated entity 2024/08/29 13:23:22 [022 746.28525ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [106 740.401167ms] Updated entity 2024/08/29 13:23:22 [072 742.214042ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [091 737.127417ms] Updated entity 2024/08/29 13:23:22 [115 739.959166ms] Updated entity 2024/08/29 13:23:22 [167 737.509875ms] Updated entity 2024/08/29 13:23:22 [096 737.150459ms] Updated entity 2024/08/29 13:23:22 [137 740.644209ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [156 739.398917ms] Updated entity 2024/08/29 13:23:22 [195 733.149291ms] Updated entity 2024/08/29 13:23:22 [154 739.510375ms] Updated entity 2024/08/29 13:23:22 [033 747.521041ms] Updated entity 2024/08/29 13:23:22 [160 740.853792ms] Updated entity 2024/08/29 13:23:22 [199 751.346542ms] Updated entity 2024/08/29 13:23:22 [019 749.747958ms] Updated entity 2024/08/29 13:23:22 [138 742.231792ms] Updated entity 2024/08/29 13:23:22 [166 740.71825ms] Updated entity 2024/08/29 13:23:22 [032 749.714916ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [065 748.028958ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [108 745.492041ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [107 748.070959ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [079 749.378959ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [110 748.06025ms] Updated entity 2024/08/29 13:23:22 [161 745.501875ms] Updated entity 2024/08/29 13:23:22 [192 739.418959ms] Updated entity 2024/08/29 13:23:22 [041 752.941542ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [062 750.944166ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [153 746.143416ms] Updated entity 2024/08/29 13:23:22 [152 747.078792ms] Updated entity 2024/08/29 13:23:22 [015 758.465167ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:22 [191 743.480417ms] Updated entity 2024/08/29 13:23:22 [193 743.601291ms] Updated entity 2024/08/29 13:23:22 [128 752.1385ms] Updated entity 2024/08/29 13:23:22 [180 745.881833ms] Updated entity 2024/08/29 13:23:22 [116 755.35575ms] Updated entity 2024/08/29 13:23:22 [113 755.697208ms] Updated entity 2024/08/29 13:23:22 [038 760.7925ms] Updated entity 2024/08/29 13:23:22 [179 749.462333ms] Updated entity 2024/08/29 13:23:22 [184 750.477666ms] Updated entity 2024/08/29 13:23:22 [163 762.18225ms] Updated entity 2024/08/29 13:23:22 [035 770.911625ms] Updated entity 2024/08/29 13:23:22 [189 762.105417ms] Updated entity 2024/08/29 13:23:22 [127 772.587166ms] Updated entity 2024/08/29 13:23:22 [183 769.322542ms] Updated entity 2024/08/29 13:23:22 [125 779.760042ms] Updated entity 2024/08/29 13:23:22 [144 785.46125ms] Updated entity 2024/08/29 13:23:22 [124 786.537208ms] Updated entity 2024/08/29 13:23:22 [112 841.216125ms] Updated entity 2024/08/29 13:23:22 Done. ./scratch 0.23s user 0.12s system 28% cpu 1.218 total
Actual behavior
Code is clearly retrying even though only one transaction attempt is set, causing the test code to back up, eventually running out of the 10s deadline for each goroutine.
output when using upstream code
❯ time ./scratch 2024/08/29 13:23:32 [100 686.704417ms] Updated entity 2024/08/29 13:23:32 [005 854.7865ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [056 862.32675ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [150 870.465541ms] Updated entity 2024/08/29 13:23:32 [194 877.001ms] Updated entity 2024/08/29 13:23:32 [065 896.772583ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [120 903.881583ms] Updated entity 2024/08/29 13:23:32 [198 895.729459ms] Updated entity 2024/08/29 13:23:32 [057 920.637458ms] Updated entity 2024/08/29 13:23:32 [173 925.112666ms] Updated entity 2024/08/29 13:23:32 [088 924.938459ms] Updated entity 2024/08/29 13:23:32 [090 928.549792ms] Updated entity 2024/08/29 13:23:32 [003 936.892708ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [174 939.921666ms] Updated entity 2024/08/29 13:23:32 [002 943.864958ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [004 945.652875ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [093 943.497875ms] Updated entity 2024/08/29 13:23:32 [086 944.05725ms] Updated entity 2024/08/29 13:23:32 [151 951.284375ms] Updated entity 2024/08/29 13:23:32 [101 954.787792ms] Updated entity 2024/08/29 13:23:32 [039 955.779ms] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [017 959.374292ms] Updated entity 2024/08/29 13:23:32 [191 949.89425ms] Updated entity 2024/08/29 13:23:32 [040 964.299167ms] Updated entity 2024/08/29 13:23:32 [051 973.789708ms] Updated entity 2024/08/29 13:23:32 [046 983.453083ms] Updated entity 2024/08/29 13:23:32 [158 983.173375ms] Updated entity 2024/08/29 13:23:32 [157 984.731917ms] Updated entity 2024/08/29 13:23:32 [193 978.662208ms] Updated entity 2024/08/29 13:23:32 [197 978.958958ms] Updated entity 2024/08/29 13:23:32 [164 999.966958ms] Updated entity 2024/08/29 13:23:32 [022 1.004642125s] Updated entity 2024/08/29 13:23:32 [128 1.004172917s] Updated entity 2024/08/29 13:23:32 [161 1.007347125s] Updated entity 2024/08/29 13:23:32 [045 1.008149291s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [007 1.01334275s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [067 1.021583292s] Updated entity 2024/08/29 13:23:32 [069 1.021615833s] Updated entity 2024/08/29 13:23:32 [170 1.033756833s] Updated entity 2024/08/29 13:23:32 [129 1.034595417s] Updated entity 2024/08/29 13:23:32 [030 1.04715975s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [080 1.045530125s] Updated entity 2024/08/29 13:23:32 [043 1.046909833s] Updated entity 2024/08/29 13:23:32 [071 1.050428333s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [074 1.052123s] Updated entity 2024/08/29 13:23:32 [049 1.045359125s] Updated entity 2024/08/29 13:23:32 [078 1.059568s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [035 1.063263417s] Updated entity 2024/08/29 13:23:32 [092 1.061247167s] Updated entity 2024/08/29 13:23:32 [189 1.053063833s] Updated entity 2024/08/29 13:23:32 [156 1.070421708s] Updated entity 2024/08/29 13:23:32 [137 1.075707625s] Updated entity 2024/08/29 13:23:32 [167 1.078734291s] Updated entity 2024/08/29 13:23:32 [188 1.06933825s] Updated entity 2024/08/29 13:23:32 [050 1.078226084s] Updated entity 2024/08/29 13:23:32 [133 1.095777125s] Updated entity 2024/08/29 13:23:32 [179 1.086183958s] Updated entity 2024/08/29 13:23:32 [114 1.097415583s] Updated entity 2024/08/29 13:23:32 [037 1.098612917s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [025 1.103400792s] Updated entity 2024/08/29 13:23:32 [140 1.092471125s] Updated entity 2024/08/29 13:23:32 [104 1.111294125s] Updated entity 2024/08/29 13:23:32 [185 1.099697875s] Updated entity 2024/08/29 13:23:32 [072 1.112351541s] Updated entity 2024/08/29 13:23:32 [178 1.103046167s] Updated entity 2024/08/29 13:23:32 [142 1.103972375s] Updated entity 2024/08/29 13:23:32 [105 1.118062709s] Updated entity 2024/08/29 13:23:32 [026 1.120787875s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [124 1.119008458s] Updated entity 2024/08/29 13:23:32 [127 1.118943083s] Updated entity 2024/08/29 13:23:32 [084 1.130870708s] Updated entity 2024/08/29 13:23:32 [134 1.131785708s] Updated entity 2024/08/29 13:23:32 [000 1.158590167s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [048 1.146530334s] Updated entity 2024/08/29 13:23:32 [130 1.155081667s] Updated entity 2024/08/29 13:23:32 [083 1.155333791s] Updated entity 2024/08/29 13:23:32 [186 1.146119375s] Updated entity 2024/08/29 13:23:32 [126 1.155573792s] Updated entity 2024/08/29 13:23:32 [138 1.15575625s] Updated entity 2024/08/29 13:23:32 [034 1.163829542s] Updated entity 2024/08/29 13:23:32 [190 1.155072917s] Updated entity 2024/08/29 13:23:32 [152 1.176562333s] Updated entity 2024/08/29 13:23:32 [096 1.170318541s] Updated entity 2024/08/29 13:23:32 [044 1.181635834s] Updated entity 2024/08/29 13:23:32 [094 1.190643542s] Updated entity 2024/08/29 13:23:32 [063 1.193857291s] Updated entity 2024/08/29 13:23:32 [182 1.182661833s] Updated entity 2024/08/29 13:23:32 [116 1.203421042s] Updated entity 2024/08/29 13:23:32 [180 1.193226792s] Updated entity 2024/08/29 13:23:32 [166 1.20477375s] Updated entity 2024/08/29 13:23:32 [183 1.194776417s] Updated entity 2024/08/29 13:23:32 [013 1.209579542s] Updated entity 2024/08/29 13:23:32 [012 1.209764083s] Updated entity 2024/08/29 13:23:32 [085 1.21466875s] Updated entity 2024/08/29 13:23:32 [175 1.20744375s] Updated entity 2024/08/29 13:23:32 [123 1.225449458s] Updated entity 2024/08/29 13:23:32 [125 1.226707625s] Updated entity 2024/08/29 13:23:32 [132 1.226432709s] Updated entity 2024/08/29 13:23:32 [087 1.229210333s] Updated entity 2024/08/29 13:23:32 [118 1.230082292s] Updated entity 2024/08/29 13:23:32 [095 1.23562725s] Updated entity 2024/08/29 13:23:32 [135 1.240840167s] Updated entity 2024/08/29 13:23:32 [171 1.241505584s] Updated entity 2024/08/29 13:23:32 [020 1.2452885s] Updated entity 2024/08/29 13:23:32 [091 1.243421125s] Updated entity 2024/08/29 13:23:32 [181 1.235403541s] Updated entity 2024/08/29 13:23:32 [136 1.246686458s] Updated entity 2024/08/29 13:23:32 [139 1.238223166s] Updated entity 2024/08/29 13:23:32 [119 1.256015291s] Updated entity 2024/08/29 13:23:32 [153 1.261102417s] Updated entity 2024/08/29 13:23:32 [082 1.262399125s] Updated entity 2024/08/29 13:23:32 [122 1.269445084s] Updated entity 2024/08/29 13:23:32 [177 1.266232792s] Updated entity 2024/08/29 13:23:32 [098 1.270190542s] Updated entity 2024/08/29 13:23:32 [162 1.279627417s] Updated entity 2024/08/29 13:23:32 [131 1.280987667s] Updated entity 2024/08/29 13:23:32 [195 1.271698875s] Updated entity 2024/08/29 13:23:32 [145 1.274683583s] Updated entity 2024/08/29 13:23:32 [147 1.274765583s] Updated entity 2024/08/29 13:23:32 [146 1.275368875s] Updated entity 2024/08/29 13:23:32 [192 1.275284s] Updated entity 2024/08/29 13:23:32 [097 1.277852458s] Updated entity 2024/08/29 13:23:32 [099 1.291856708s] Updated entity 2024/08/29 13:23:32 [196 1.291402666s] Updated entity 2024/08/29 13:23:32 [141 1.291855791s] Updated entity 2024/08/29 13:23:32 [062 1.303609083s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [081 1.328233833s] Updated entity 2024/08/29 13:23:32 [176 1.324166583s] Updated entity 2024/08/29 13:23:32 [076 1.3428385s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:32 [031 1.462591958s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:33 [041 1.642565542s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:33 [108 1.687637292s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:33 [052 1.730313042s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:33 [015 1.750643s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:33 [047 1.7784465s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:33 [016 2.47336875s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:34 [143 2.753030208s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:34 [009 3.05305575s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:34 [028 3.355705625s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:35 [058 3.753163917s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:35 [061 3.994035667s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:36 [001 4.628764s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:36 [079 4.711359292s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:36 [115 4.847623125s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:36 [149 4.911430042s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:36 [112 5.058041916s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:36 [117 5.138369833s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:36 [014 5.285959625s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:38 [011 7.580258917s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:39 [109 7.73998975s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:39 [169 8.303472667s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:39 [036 8.53223025s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:39 [021 8.580961541s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:40 [006 8.981646834s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:40 [172 9.179854291s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:40 [107 9.394452958s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [055 10.000611584s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [053 10.000772s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [054 10.0007265s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [199 10.001845334s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [077 10.000088917s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [059 10.000994042s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [060 10.000960625s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [064 10.000752333s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [066 10.000673125s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [068 10.000588s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [070 10.000511333s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [073 10.00039175s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [075 10.000300209s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [033 10.000190667s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [023 10.000704625s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [008 10.0014915s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [010 10.001393167s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [018 10.00100175s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [019 10.000948417s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [027 10.0005635s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [024 10.000703458s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [029 10.000486666s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [032 10.000332208s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [038 10.00001475s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [042 10.000018125s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [102 10.000098416s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [103 10.000066125s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [106 10.000088208s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [110 10.00007s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [111 10.00004375s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [154 10.000044041s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [155 10.000090292s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [113 10.000071459s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [160 10.000030125s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [159 10.00008425s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [121 10.000064834s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [165 10.000035958s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [163 10.000106625s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [168 10.000092792s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [089 10.00008625s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [187 10.001070166s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [148 10.001218167s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [184 10.001034833s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 [144 10.001789709s] Error updating entity: datastore: concurrent transaction 2024/08/29 13:23:41 Done. ./scratch 0.25s user 0.13s system 3% cpu 10.723 total
Additional context
This appears to be directly related due to the change made in #10349, which was released in datastore/v1.17.1. In my opinion, this is a pretty big change for a patch release, even if it is marked as a bugfix.