ignore duplicated key error if the store has duplicated primary key prevention

fix https://github.com/chrislusf/seaweedfs/issues/741
This commit is contained in:
Chris Lu 2018-09-30 00:49:52 -07:00
parent 98384b62fd
commit 56a5d5af8d

View file

@ -88,11 +88,13 @@ func (f *Filer) CreateEntry(entry *Entry) error {
glog.V(2).Infof("create directory: %s %v", dirPath, dirEntry.Mode)
mkdirErr := f.store.InsertEntry(dirEntry)
if mkdirErr != nil {
return fmt.Errorf("mkdir %s: %v", dirPath, mkdirErr)
if _, err := f.FindEntry(FullPath(dirPath)); err == ErrNotFound {
return fmt.Errorf("mkdir %s: %v", dirPath, mkdirErr)
}
} else {
f.NotifyUpdateEvent(nil, dirEntry, false)
}
f.NotifyUpdateEvent(nil, dirEntry, false)
} else if !dirEntry.IsDirectory() {
return fmt.Errorf("%s is a file", dirPath)
}