fix: all: remove map iteration non-determinism with keys + sorting (#13377)

This commit is contained in:
Emmanuel T Odeke
2022-09-24 16:20:54 +00:00
committed by GitHub
parent b76f338511
commit abdf61e292
6 changed files with 40 additions and 6 deletions
+7 -1
View File
@@ -42,7 +42,12 @@ func (m moduleDB) DefaultJSON(target ormjson.WriteTarget) error {
func (m moduleDB) ValidateJSON(source ormjson.ReadSource) error {
errMap := map[protoreflect.FullName]error{}
for name, table := range m.tablesByName {
names := maps.Keys(m.tablesByName)
sort.Slice(names, func(i, j int) bool {
ti, tj := names[i], names[j]
return ti.Name() < tj.Name()
})
for _, name := range names {
r, err := source.OpenReader(name)
if err != nil {
return err
@@ -52,6 +57,7 @@ func (m moduleDB) ValidateJSON(source ormjson.ReadSource) error {
continue
}
table := m.tablesByName[name]
err = table.ValidateJSON(r)
if err != nil {
errMap[name] = err