Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
dev-bin/
go.sum
golangci-lint
migration_verifier
internal/verifier/mongodb_exec/
verifier_expansion.yml
2 changes: 1 addition & 1 deletion internal/verifier/change_stream.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func (verifier *Verifier) HandleChangeStreamEvent(ctx context.Context, changeEve
case "update":
return verifier.InsertChangeEventRecheckDoc(ctx, changeEvent)
default:
return fmt.Errorf(`Not supporting: "` + changeEvent.OpType + `" events`)
return errors.New(`Not supporting: "` + changeEvent.OpType + `" events`)
}
}

Expand Down
13 changes: 9 additions & 4 deletions internal/verifier/list_namespaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (
"go.mongodb.org/mongo-driver/mongo/options"
)

const (
MongosyncMetaDB = "mongosync_reserved_for_internal_use"
var (
MongosyncMetaDBsPattern = `^mongosync_(internal|reserved)_`
)

var (
Expand All @@ -29,9 +29,14 @@ func ListAllUserCollections(ctx context.Context, logger *logger.Logger, client *
excludedDBs := []string{}
excludedDBs = append(excludedDBs, additionalExcludedDBs...)
excludedDBs = append(excludedDBs, ExcludedSystemDBs...)
excludedDBs = append(excludedDBs, MongosyncMetaDB)

dbNames, err := client.ListDatabaseNames(ctx, bson.D{{"name", bson.D{{"$nin", excludedDBs}}}})
var excluded []any
for _, e := range excludedDBs {
excluded = append(excluded, e)
}
excluded = append(excluded, primitive.Regex{Pattern: MongosyncMetaDBsPattern})

dbNames, err := client.ListDatabaseNames(ctx, bson.D{{"name", bson.D{{"$nin", excluded}}}})
if err != nil {
return nil, err
}
Expand Down
6 changes: 6 additions & 0 deletions internal/verifier/migration_verifier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1265,8 +1265,14 @@ func (suite *MultiDataVersionTestSuite) TestVerifierNamespaceList() {
suite.Require().NoError(err)
err = suite.dstMongoClient.Database("testDb4").CreateCollection(ctx, "testColl6")
suite.Require().NoError(err)
err = suite.dstMongoClient.Database("local").CreateCollection(ctx, "testColl7")
suite.Require().NoError(err)
err = suite.dstMongoClient.Database("mongosync_reserved_for_internal_use").CreateCollection(ctx, "globalState")
suite.Require().NoError(err)
err = suite.dstMongoClient.Database("mongosync_reserved_for_verification_src_metadata").CreateCollection(ctx, "auditor")
suite.Require().NoError(err)
err = suite.dstMongoClient.Database("mongosync_reserved_for_verification_dst_metadata").CreateCollection(ctx, "auditor")
suite.Require().NoError(err)
err = verifier.setupAllNamespaceList(ctx)
suite.Require().NoError(err)
suite.ElementsMatch([]string{"testDb1.testColl1", "testDb1.testColl2", "testDb2.testColl3", "testDb2.testColl4",
Expand Down
2 changes: 1 addition & 1 deletion internal/verifier/verification_task.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ type VerificationTask struct {
// both clusters but don’t match.
FailedDocs []VerificationResult `bson:"failed_docs,omitempty"`

QueryFilter QueryFilter `bson:"query_filter" json:"query_filter"`
QueryFilter QueryFilter `bson:"query_filter" json:"query_filter"`

// DocumentCount is set when the verifier is done with the task
// (whether we found mismatches or not).
Expand Down
15 changes: 15 additions & 0 deletions precious.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# When adding new tidiers, consider what labels it should have. If it's fast, set labels like this:
#
# labels = [ "default", "fast-tidy" ]
#
# "Fast" here means anything less than 0.1s. These tidiers are intended to be invoked frequently,
# for example from editors on save. Slower tidiers should only be invoked manually.

exclude = "vendor/**"

[commands.goimports]
type = "tidy"
include = "**/*.go"
cmd = [ "$PRECIOUS_ROOT/dev-bin/goimports", "-w" ]
ok-exit-codes = [0]
labels = [ "default", "fast-tidy" ]