Skip to content

Commit bebd3c3

Browse files
authored
fix(deps): Update github.com/cloudquery/plugin-sdk/v4 to v4.5.5 (#13289)
Extracted from #13262 Part of #13153
1 parent c8a0403 commit bebd3c3

File tree

3 files changed

+21
-36
lines changed

3 files changed

+21
-36
lines changed

plugins/destination/gremlin/client/write.go

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"fmt"
66
"strings"
7-
"time"
87

98
gremlingo "github.com/apache/tinkerpop/gremlin-go/v3/driver"
109
"github.com/cenkalti/backoff/v4"
@@ -44,19 +43,21 @@ func (c *Client) WriteTableBatch(ctx context.Context, tableName string, msgs mes
4443
pks := table.PrimaryKeys()
4544
if len(pks) == 0 {
4645
// If no primary keys are defined, use all columns
47-
for i := range table.Columns {
48-
pks = append(pks, table.Columns[i].Name)
49-
}
46+
pks = table.Columns.Names()
5047
}
51-
nonPKs := make(map[string]struct{})
52-
for _, c := range table.Columns {
53-
if !c.PrimaryKey {
54-
nonPKs[c.Name] = struct{}{}
48+
valueColumns := make([]string, 0, len(table.Columns)-len(pks))
49+
if len(table.Columns)-len(pks) > 0 {
50+
// not all columns are a part of "pk", so we need to account for the values
51+
for _, col := range table.Columns {
52+
if !col.PrimaryKey {
53+
valueColumns = append(valueColumns, col.Name)
54+
}
5555
}
5656
}
5757

5858
g := gremlingo.Traversal_().WithRemote(session).V().HasLabel(tableName)
5959
for i := range rows {
60+
g = g.V().HasLabel(tableName)
6061
for _, colName := range pks {
6162
g = g.Has(colName, rows[i][colName])
6263
}
@@ -71,41 +72,25 @@ func (c *Client) WriteTableBatch(ctx context.Context, tableName string, msgs mes
7172
ins,
7273
)
7374

74-
for colName := range nonPKs {
75+
for _, colName := range valueColumns {
7576
g = g.Property(gremlingo.Cardinality.Single, colName, rows[i][colName])
7677
}
7778
}
7879

79-
bo := backoff.NewExponentialBackOff()
80-
retryCount := 0
81-
82-
for retryCount <= c.spec.MaxRetries {
83-
retryCount++
84-
80+
bo := backoff.WithContext(
81+
backoff.WithMaxRetries(backoff.NewExponentialBackOff(), uint64(c.spec.MaxRetries)),
82+
ctx,
83+
)
84+
return backoff.Retry(func() error {
8585
err = <-g.Iterate()
8686
if err == nil {
8787
return nil
8888
}
89-
9089
if !strings.Contains(err.Error(), "ConcurrentModificationException") {
91-
return fmt.Errorf("Iterate: %w", err)
92-
}
93-
94-
if retryCount > c.spec.MaxRetries {
95-
break
90+
return backoff.Permanent(fmt.Errorf("Iterate: %w", err))
9691
}
97-
98-
nb := bo.NextBackOff()
99-
c.logger.Debug().Err(err).Str("backoff_duration", nb.String()).Msg("Iterate failed, retrying")
100-
101-
select {
102-
case <-ctx.Done():
103-
return ctx.Err()
104-
case <-time.After(nb):
105-
}
106-
}
107-
108-
return fmt.Errorf("Max retries (%d) reached. Iterate: %w", c.spec.MaxRetries, err)
92+
return err
93+
}, bo)
10994
}
11095

11196
func (c *Client) Write(ctx context.Context, msgs <-chan message.WriteMessage) error {

plugins/destination/gremlin/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/aws/aws-sdk-go-v2 v1.20.3
99
github.com/aws/aws-sdk-go-v2/config v1.18.35
1010
github.com/cenkalti/backoff/v4 v4.2.1
11-
github.com/cloudquery/plugin-sdk/v4 v4.5.1
11+
github.com/cloudquery/plugin-sdk/v4 v4.5.5
1212
github.com/rs/zerolog v1.29.1
1313
github.com/stretchr/testify v1.8.4
1414
)

plugins/destination/gremlin/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ github.com/cloudquery/plugin-pb-go v1.9.3 h1:A+TwhOHB68ZnjqrQYnVtWAzmUKEDnKleVG6
7979
github.com/cloudquery/plugin-pb-go v1.9.3/go.mod h1:f00zd6V5mWD+8Qw9U0eb4HD8RnAobwV9byBexE7Qa+0=
8080
github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U=
8181
github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug=
82-
github.com/cloudquery/plugin-sdk/v4 v4.5.1 h1:V6EfHkW6kyYVMSX2S/Fn1b+62bU1jegIuv16Koo2f98=
83-
github.com/cloudquery/plugin-sdk/v4 v4.5.1/go.mod h1:WNTjNp8CPDDSpJHOSaho+MUzntKO6czG6E+yvVe++aA=
82+
github.com/cloudquery/plugin-sdk/v4 v4.5.5 h1:/8yr2zcuIUIK2VF1OoR1iHTL4U0SXBekIpcK8OZfJhY=
83+
github.com/cloudquery/plugin-sdk/v4 v4.5.5/go.mod h1:/2/9y6iODo8jOT0mrAp8K1eogr7+228cy53jK8aUCjY=
8484
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
8585
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
8686
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=

0 commit comments

Comments
 (0)