add WIP filer.replicate

This commit is contained in:
Chris Lu
2018-09-17 00:27:56 -07:00
parent 865a017936
commit 788acdf527
13 changed files with 594 additions and 96 deletions

View File

@@ -91,7 +91,7 @@ func (f *Filer) CreateEntry(entry *Entry) error {
return fmt.Errorf("mkdir %s: %v", dirPath, mkdirErr)
}
f.NotifyUpdateEvent(nil, dirEntry)
f.NotifyUpdateEvent(nil, dirEntry, false)
} else if !dirEntry.IsDirectory() {
return fmt.Errorf("%s is a file", dirPath)
@@ -125,7 +125,7 @@ func (f *Filer) CreateEntry(entry *Entry) error {
return fmt.Errorf("insert entry %s: %v", entry.FullPath, err)
}
f.NotifyUpdateEvent(oldEntry, entry)
f.NotifyUpdateEvent(oldEntry, entry, true)
f.deleteChunksIfNotNew(oldEntry, entry)
@@ -176,7 +176,7 @@ func (f *Filer) DeleteEntryMetaAndData(p FullPath, isRecursive bool, shouldDelet
}
glog.V(3).Infof("deleting entry %v", p)
f.NotifyUpdateEvent(entry, nil)
f.NotifyUpdateEvent(entry, nil, shouldDeleteChunks)
return f.store.DeleteEntry(p)
}

View File

@@ -6,7 +6,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/glog"
)
func (f *Filer) NotifyUpdateEvent(oldEntry, newEntry *Entry) {
func (f *Filer) NotifyUpdateEvent(oldEntry, newEntry *Entry, deleteChunks bool) {
var key string
if oldEntry != nil {
key = string(oldEntry.FullPath)
@@ -23,13 +23,13 @@ func (f *Filer) NotifyUpdateEvent(oldEntry, newEntry *Entry) {
notification.Queue.SendMessage(
key,
&filer_pb.EventNotification{
OldEntry: toProtoEntry(oldEntry),
NewEntry: toProtoEntry(newEntry),
OldEntry: toProtoEntry(oldEntry),
NewEntry: toProtoEntry(newEntry),
DeleteChunks: deleteChunks,
},
)
}
}
func toProtoEntry(entry *Entry) *filer_pb.Entry {