satellite: adjust code to handle context cancelation for SQL queries
Our DB support in storj/private was updated to enable basic context support for executing SQL queries. This change requires some small adjustments as not all parts were working correctly. storj/private commit with change: 4bc77107b7acfcc2f7ad65796d5dd3d7c64801e4 Change-Id: I64d7ed92788ea0920d12cecd1aa0e414720e9b9c
This commit is contained in:
parent
6f11c8b32c
commit
bd8867cd09
2
go.mod
2
go.mod
@ -55,7 +55,7 @@ require (
|
|||||||
storj.io/common v0.0.0-20230125172029-ac90a56db6dd
|
storj.io/common v0.0.0-20230125172029-ac90a56db6dd
|
||||||
storj.io/drpc v0.0.32
|
storj.io/drpc v0.0.32
|
||||||
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41
|
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78
|
storj.io/private v0.0.0-20230123202745-d3e63b336444
|
||||||
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1
|
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
go.sum
4
go.sum
@ -945,7 +945,7 @@ storj.io/drpc v0.0.32 h1:5p5ZwsK/VOgapaCu+oxaPVwO6UwIs+iwdMiD50+R4PI=
|
|||||||
storj.io/drpc v0.0.32/go.mod h1:6rcOyR/QQkSTX/9L5ZGtlZaE2PtXTTZl8d+ulSeeYEg=
|
storj.io/drpc v0.0.32/go.mod h1:6rcOyR/QQkSTX/9L5ZGtlZaE2PtXTTZl8d+ulSeeYEg=
|
||||||
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41 h1:SVuEocEhZfFc13J1AmlVLitdGXTVrvmbzN4Z9C9Ms40=
|
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41 h1:SVuEocEhZfFc13J1AmlVLitdGXTVrvmbzN4Z9C9Ms40=
|
||||||
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41/go.mod h1:iK+dmHZZXQlW7ahKdNSOo+raMk5BDL2wbD62FIeXLWs=
|
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41/go.mod h1:iK+dmHZZXQlW7ahKdNSOo+raMk5BDL2wbD62FIeXLWs=
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78 h1:kHJEx5AAASp+zGaBPwBJyqZ5zFkde6nLyELGlxdZmiM=
|
storj.io/private v0.0.0-20230123202745-d3e63b336444 h1:qwjIC8HoYGH8H5jYWhxPVUqKK2y3lWSnKZiPtWb08GA=
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78/go.mod h1:hc63X333SVJ3UrOxXpGN4VnwqnmbWgAHln3wYJ8AroI=
|
storj.io/private v0.0.0-20230123202745-d3e63b336444/go.mod h1:hc63X333SVJ3UrOxXpGN4VnwqnmbWgAHln3wYJ8AroI=
|
||||||
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1 h1:UrnuA+dMgn3e9c8k15a1hyN2W+IqqBrt+cXJGV6+7qk=
|
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1 h1:UrnuA+dMgn3e9c8k15a1hyN2W+IqqBrt+cXJGV6+7qk=
|
||||||
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1/go.mod h1:fYTIRgr06karY5t3ZHaVi5TYABLnQJThpVMZkObU+J4=
|
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1/go.mod h1:fYTIRgr06karY5t3ZHaVi5TYABLnQJThpVMZkObU+J4=
|
||||||
|
@ -357,7 +357,13 @@ func (planet *Planet) Shutdown() error {
|
|||||||
errlist.Add(planet.VersionControl.Close())
|
errlist.Add(planet.VersionControl.Close())
|
||||||
|
|
||||||
errlist.Add(os.RemoveAll(planet.directory))
|
errlist.Add(os.RemoveAll(planet.directory))
|
||||||
return errlist.Err()
|
|
||||||
|
// workaround for not being able to catch context.Canceled error from net package
|
||||||
|
err := errlist.Err()
|
||||||
|
if err != nil && strings.Contains(err.Error(), "operation was canceled") {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Identities returns the identity provider for this planet.
|
// Identities returns the identity provider for this planet.
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"golang.org/x/sync/errgroup"
|
"golang.org/x/sync/errgroup"
|
||||||
|
|
||||||
|
"storj.io/common/context2"
|
||||||
"storj.io/common/errs2"
|
"storj.io/common/errs2"
|
||||||
"storj.io/common/identity"
|
"storj.io/common/identity"
|
||||||
"storj.io/common/pb"
|
"storj.io/common/pb"
|
||||||
@ -238,6 +239,10 @@ func (endpoint *Endpoint) Process(stream pb.DRPCSatelliteGracefulExit_ProcessStr
|
|||||||
if !wasSuccessful {
|
if !wasSuccessful {
|
||||||
return rpcstatus.Error(rpcstatus.Canceled, "graceful exit processing interrupted (node should reconnect and continue)")
|
return rpcstatus.Error(rpcstatus.Canceled, "graceful exit processing interrupted (node should reconnect and continue)")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ignore cancelled context which was triggered to finish loop but we still need to do some DB operations
|
||||||
|
ctx = context2.WithoutCancellation(ctx)
|
||||||
|
|
||||||
isDisqualified, err := endpoint.handleDisqualifiedNode(ctx, nodeID)
|
isDisqualified, err := endpoint.handleDisqualifiedNode(ctx, nodeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return rpcstatus.Error(rpcstatus.Internal, err.Error())
|
return rpcstatus.Error(rpcstatus.Internal, err.Error())
|
||||||
|
@ -11,6 +11,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"golang.org/x/sync/errgroup"
|
||||||
|
|
||||||
"storj.io/common/storj"
|
"storj.io/common/storj"
|
||||||
"storj.io/common/testcontext"
|
"storj.io/common/testcontext"
|
||||||
@ -303,8 +304,9 @@ func TestDeleteBucketObjectsParallel(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, 5, len(objects))
|
require.Equal(t, 5, len(objects))
|
||||||
|
|
||||||
|
var errgroup errgroup.Group
|
||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
ctx.Go(func() error {
|
errgroup.Go(func() error {
|
||||||
_, err := db.DeleteBucketObjects(ctx, metabase.DeleteBucketObjects{
|
_, err := db.DeleteBucketObjects(ctx, metabase.DeleteBucketObjects{
|
||||||
Bucket: root.Location().Bucket(),
|
Bucket: root.Location().Bucket(),
|
||||||
BatchSize: 2,
|
BatchSize: 2,
|
||||||
@ -315,8 +317,7 @@ func TestDeleteBucketObjectsParallel(t *testing.T) {
|
|||||||
return err
|
return err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
require.NoError(t, errgroup.Wait())
|
||||||
ctx.Wait()
|
|
||||||
|
|
||||||
metabasetest.Verify{}.Check(ctx, t, db)
|
metabasetest.Verify{}.Check(ctx, t, db)
|
||||||
})
|
})
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"golang.org/x/sync/errgroup"
|
||||||
|
|
||||||
"storj.io/common/memory"
|
"storj.io/common/memory"
|
||||||
"storj.io/common/testcontext"
|
"storj.io/common/testcontext"
|
||||||
@ -365,9 +366,10 @@ func TestBucketAttributionConcurrentUpload(t *testing.T) {
|
|||||||
project, err := config.OpenProject(ctx, planet.Uplinks[0].Access[satellite.ID()])
|
project, err := config.OpenProject(ctx, planet.Uplinks[0].Access[satellite.ID()])
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var errgroup errgroup.Group
|
||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
i := i
|
i := i
|
||||||
ctx.Go(func() error {
|
errgroup.Go(func() error {
|
||||||
upload, err := project.UploadObject(ctx, "attr-bucket", "key"+strconv.Itoa(i), nil)
|
upload, err := project.UploadObject(ctx, "attr-bucket", "key"+strconv.Itoa(i), nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
@ -380,7 +382,7 @@ func TestBucketAttributionConcurrentUpload(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.Wait()
|
require.NoError(t, errgroup.Wait())
|
||||||
|
|
||||||
attributionInfo, err := planet.Satellites[0].DB.Attribution().Get(ctx, planet.Uplinks[0].Projects[0].ID, []byte("attr-bucket"))
|
attributionInfo, err := planet.Satellites[0].DB.Attribution().Get(ctx, planet.Uplinks[0].Projects[0].ID, []byte("attr-bucket"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
@ -11,7 +11,7 @@ require (
|
|||||||
go.uber.org/zap v1.21.0
|
go.uber.org/zap v1.21.0
|
||||||
golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde
|
golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde
|
||||||
storj.io/common v0.0.0-20230125172029-ac90a56db6dd
|
storj.io/common v0.0.0-20230125172029-ac90a56db6dd
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78
|
storj.io/private v0.0.0-20230123202745-d3e63b336444
|
||||||
storj.io/storj v1.63.1
|
storj.io/storj v1.63.1
|
||||||
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0
|
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0
|
||||||
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1
|
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1
|
||||||
|
@ -1266,8 +1266,8 @@ storj.io/monkit-jaeger v0.0.0-20220726162929-c3a9898b5bca/go.mod h1:iK+dmHZZXQlW
|
|||||||
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41 h1:SVuEocEhZfFc13J1AmlVLitdGXTVrvmbzN4Z9C9Ms40=
|
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41 h1:SVuEocEhZfFc13J1AmlVLitdGXTVrvmbzN4Z9C9Ms40=
|
||||||
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41/go.mod h1:iK+dmHZZXQlW7ahKdNSOo+raMk5BDL2wbD62FIeXLWs=
|
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41/go.mod h1:iK+dmHZZXQlW7ahKdNSOo+raMk5BDL2wbD62FIeXLWs=
|
||||||
storj.io/private v0.0.0-20220823161836-79135887c9be/go.mod h1:GbCItLcLLzsrMClBAa2aaj8xlawtHXWrqhr3D1I3NPM=
|
storj.io/private v0.0.0-20220823161836-79135887c9be/go.mod h1:GbCItLcLLzsrMClBAa2aaj8xlawtHXWrqhr3D1I3NPM=
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78 h1:kHJEx5AAASp+zGaBPwBJyqZ5zFkde6nLyELGlxdZmiM=
|
storj.io/private v0.0.0-20230123202745-d3e63b336444 h1:qwjIC8HoYGH8H5jYWhxPVUqKK2y3lWSnKZiPtWb08GA=
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78/go.mod h1:hc63X333SVJ3UrOxXpGN4VnwqnmbWgAHln3wYJ8AroI=
|
storj.io/private v0.0.0-20230123202745-d3e63b336444/go.mod h1:hc63X333SVJ3UrOxXpGN4VnwqnmbWgAHln3wYJ8AroI=
|
||||||
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0 h1:pSfGf9E9OlUd17W7LSpL4tTONIyFji6dz8I2iTDd8BY=
|
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0 h1:pSfGf9E9OlUd17W7LSpL4tTONIyFji6dz8I2iTDd8BY=
|
||||||
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0/go.mod h1:5nLgAOl1KTDVyqORAhvrp+167PtShEuS1L3pJgXPjwo=
|
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0/go.mod h1:5nLgAOl1KTDVyqORAhvrp+167PtShEuS1L3pJgXPjwo=
|
||||||
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1 h1:UrnuA+dMgn3e9c8k15a1hyN2W+IqqBrt+cXJGV6+7qk=
|
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1 h1:UrnuA+dMgn3e9c8k15a1hyN2W+IqqBrt+cXJGV6+7qk=
|
||||||
|
@ -12,7 +12,7 @@ require (
|
|||||||
go.uber.org/zap v1.17.0
|
go.uber.org/zap v1.17.0
|
||||||
storj.io/common v0.0.0-20230125172029-ac90a56db6dd
|
storj.io/common v0.0.0-20230125172029-ac90a56db6dd
|
||||||
storj.io/gateway-mt v1.18.1-0.20211210081136-cada9a567d31
|
storj.io/gateway-mt v1.18.1-0.20211210081136-cada9a567d31
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78
|
storj.io/private v0.0.0-20230123202745-d3e63b336444
|
||||||
storj.io/storj v0.12.1-0.20221125175451-ef4b564b82f7
|
storj.io/storj v0.12.1-0.20221125175451-ef4b564b82f7
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1514,8 +1514,8 @@ storj.io/monkit-jaeger v0.0.0-20210225162224-66fb37637bf6/go.mod h1:gj4vuCeyCRjR
|
|||||||
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41 h1:SVuEocEhZfFc13J1AmlVLitdGXTVrvmbzN4Z9C9Ms40=
|
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41 h1:SVuEocEhZfFc13J1AmlVLitdGXTVrvmbzN4Z9C9Ms40=
|
||||||
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41/go.mod h1:iK+dmHZZXQlW7ahKdNSOo+raMk5BDL2wbD62FIeXLWs=
|
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41/go.mod h1:iK+dmHZZXQlW7ahKdNSOo+raMk5BDL2wbD62FIeXLWs=
|
||||||
storj.io/private v0.0.0-20210810102517-434aeab3f17d/go.mod h1:wvudoWSyOyB2daZNaMykjjqsSUad/ttFlUwgelg9+qg=
|
storj.io/private v0.0.0-20210810102517-434aeab3f17d/go.mod h1:wvudoWSyOyB2daZNaMykjjqsSUad/ttFlUwgelg9+qg=
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78 h1:kHJEx5AAASp+zGaBPwBJyqZ5zFkde6nLyELGlxdZmiM=
|
storj.io/private v0.0.0-20230123202745-d3e63b336444 h1:qwjIC8HoYGH8H5jYWhxPVUqKK2y3lWSnKZiPtWb08GA=
|
||||||
storj.io/private v0.0.0-20221108123115-3a27297f0b78/go.mod h1:hc63X333SVJ3UrOxXpGN4VnwqnmbWgAHln3wYJ8AroI=
|
storj.io/private v0.0.0-20230123202745-d3e63b336444/go.mod h1:hc63X333SVJ3UrOxXpGN4VnwqnmbWgAHln3wYJ8AroI=
|
||||||
storj.io/uplink v1.7.0/go.mod h1:zqj/LFDxa6RMaSRSHOmukg3mMgesOry0iHSjNldDMGo=
|
storj.io/uplink v1.7.0/go.mod h1:zqj/LFDxa6RMaSRSHOmukg3mMgesOry0iHSjNldDMGo=
|
||||||
storj.io/uplink v1.7.1-0.20211103104100-a785482780d8/go.mod h1:pKqsMpNMIAz//2TXzUGOR6tpu3iyabvXV4VWINj4jaY=
|
storj.io/uplink v1.7.1-0.20211103104100-a785482780d8/go.mod h1:pKqsMpNMIAz//2TXzUGOR6tpu3iyabvXV4VWINj4jaY=
|
||||||
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1 h1:UrnuA+dMgn3e9c8k15a1hyN2W+IqqBrt+cXJGV6+7qk=
|
storj.io/uplink v1.10.1-0.20230125195524-beab4fa36cf1 h1:UrnuA+dMgn3e9c8k15a1hyN2W+IqqBrt+cXJGV6+7qk=
|
||||||
|
Loading…
Reference in New Issue
Block a user