Skip to content

Commit e8b7cfa

Browse files
committed
chore: Add stability
1 parent 7a2e72b commit e8b7cfa

3 files changed

Lines changed: 25 additions & 5 deletions

File tree

dth/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ func (c *S3Client) ListParts(ctx context.Context, key, uploadID *string) (parts
490490
output, err := c.client.ListParts(ctx, input)
491491
if err != nil {
492492
log.Printf("Failed to list parts for %s - %s\n", *key, err.Error())
493-
// return nil
493+
break
494494
}
495495

496496
for _, part := range output.Parts {

dth/job.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,13 @@ func (f *Finder) Run(ctx context.Context) {
172172
func (f *Finder) getTargetObjects(ctx context.Context, prefix *string) (objects map[string]*int64) {
173173

174174
destPrefix := appendPrefix(prefix, &f.cfg.DestPrefix)
175-
// log.Printf("Getting target list in destination prefix /%s\n", *destPrefix)
175+
log.Printf("Scanning in destination prefix /%s\n", *destPrefix)
176176

177177
token := ""
178178
objects = make(map[string]*int64, 1<<17)
179179

180+
i := 0
181+
batch := 10
180182
for token != "End" {
181183
tar, err := f.desClient.ListObjects(ctx, &token, destPrefix, f.cfg.MaxKeys)
182184
if err != nil {
@@ -190,6 +192,10 @@ func (f *Finder) getTargetObjects(ctx context.Context, prefix *string) (objects
190192
srcKey := removePrefix(&obj.Key, &f.cfg.DestPrefix)
191193
objects[*srcKey] = &obj.Size
192194
}
195+
i++
196+
if (i % batch) == 0 {
197+
log.Printf("Scanned %d objects...", i*1000)
198+
}
193199
}
194200
log.Printf("Totally %d objects in destination prefix /%s\n", len(objects), *destPrefix)
195201
return
@@ -200,7 +206,7 @@ func (f *Finder) getTargetObjects(ctx context.Context, prefix *string) (objects
200206
func (f *Finder) compareAndSend(ctx context.Context, prefix *string, batchCh chan struct{}, msgCh chan *string, compareCh chan struct{}, wg *sync.WaitGroup) {
201207
defer wg.Done()
202208

203-
log.Printf("Comparing in source prefix /%s\n", *prefix)
209+
log.Printf("Comparing within prefix /%s\n", *prefix)
204210
target := f.getTargetObjects(ctx, prefix)
205211

206212
token := ""

dth/service.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package dth
1818

1919
import (
2020
"context"
21+
"encoding/base64"
2122
"fmt"
2223
"log"
2324
"strconv"
@@ -268,7 +269,7 @@ func (ss *SqsService) IsQueueEmpty(ctx context.Context) (isEmpty bool) {
268269
}
269270

270271
// GetSecret is a function to read the value of a secret in Secrets Manager
271-
func (s *SecretService) GetSecret(ctx context.Context, secretName *string) *string {
272+
func (s *SecretService) GetSecret(ctx context.Context, secretName *string) (value *string) {
272273
log.Printf("Get secret Value of %s from Secrets Manager\n", *secretName)
273274

274275
input := &sm.GetSecretValueInput{
@@ -279,7 +280,20 @@ func (s *SecretService) GetSecret(ctx context.Context, secretName *string) *stri
279280
log.Printf("Error getting secret Value of %s from Secrets Manager - %s", *secretName, err.Error())
280281
return nil
281282
}
282-
return output.SecretString
283+
284+
if output.SecretString != nil {
285+
value = output.SecretString
286+
} else {
287+
decodedBinarySecretBytes := make([]byte, base64.StdEncoding.DecodedLen(len(output.SecretBinary)))
288+
len, err := base64.StdEncoding.Decode(decodedBinarySecretBytes, output.SecretBinary)
289+
if err != nil {
290+
log.Println("Error decoding Binary Secret - ", err)
291+
return
292+
}
293+
decodedBinarySecret := string(decodedBinarySecretBytes[:len])
294+
value = &decodedBinarySecret
295+
}
296+
return
283297
}
284298

285299
// PutItem is a function to creates a new item, or replaces an old item with a new item in DynamoDB

0 commit comments

Comments
 (0)