diff --git a/weed/command/filer_remote_sync.go b/weed/command/filer_remote_sync.go index 4ee34854b..c2f97cc6c 100644 --- a/weed/command/filer_remote_sync.go +++ b/weed/command/filer_remote_sync.go @@ -176,7 +176,6 @@ func followUpdatesAndUploadToRemote(option *RemoteSyncOptions, filerSource *sour if resp.Directory == message.NewParentPath && message.OldEntry.Name == message.NewEntry.Name { if filer.IsSameData(message.OldEntry, message.NewEntry) { glog.V(2).Infof("update meta: %+v", resp) - glog.V(0).Infof("delete %s", remote_storage.FormatLocation(dest)) return client.UpdateFileMetadata(dest, message.OldEntry, message.NewEntry) } } diff --git a/weed/filer/stream.go b/weed/filer/stream.go index 2a3870aac..9f28056cd 100644 --- a/weed/filer/stream.go +++ b/weed/filer/stream.go @@ -3,7 +3,6 @@ package filer import ( "bytes" "fmt" - "github.com/golang/protobuf/proto" "io" "math" "sort" @@ -39,9 +38,14 @@ func isSameChunks(a, b []*filer_pb.FileChunk) bool { if len(a) != len(b) { return false } + sort.Slice(a, func(i, j int) bool { + return strings.Compare(a[i].ETag, a[j].ETag) < 0 + }) + sort.Slice(b, func(i, j int) bool { + return strings.Compare(b[i].ETag, b[j].ETag) < 0 + }) for i := 0; i < len(a); i++ { - x, y := a[i], b[i] - if !proto.Equal(x, y) { + if a[i].ETag != b[i].ETag { return false } }