aboutsummaryrefslogtreecommitdiff
path: root/weed/replication
diff options
context:
space:
mode:
Diffstat (limited to 'weed/replication')
-rw-r--r--weed/replication/sink/localsink/local_sink.go17
1 files changed, 12 insertions, 5 deletions
diff --git a/weed/replication/sink/localsink/local_sink.go b/weed/replication/sink/localsink/local_sink.go
index 76e0384e5..5ca562ec8 100644
--- a/weed/replication/sink/localsink/local_sink.go
+++ b/weed/replication/sink/localsink/local_sink.go
@@ -12,11 +12,13 @@ import (
"os"
"path/filepath"
"strings"
+ "time"
)
type LocalSink struct {
- dir string
- filerSource *source.FilerSource
+ dir string
+ todaysDateFormat string
+ filerSource *source.FilerSource
}
func init() {
@@ -35,18 +37,23 @@ func (localsink *LocalSink) isMultiPartEntry(key string) bool {
return strings.HasSuffix(key, ".part") && strings.Contains(key, "/.uploads/")
}
-func (localsink *LocalSink) initialize(dir string) error {
+func (localsink *LocalSink) initialize(dir string, todaysDateFormat string) error {
localsink.dir = dir
+ localsink.todaysDateFormat = todaysDateFormat
return nil
}
func (localsink *LocalSink) Initialize(configuration util.Configuration, prefix string) error {
dir := configuration.GetString(prefix + "directory")
+ todaysDateFormat := configuration.GetString(prefix + "todays_date_format")
glog.V(4).Infof("sink.local.directory: %v", dir)
- return localsink.initialize(dir)
+ return localsink.initialize(dir, todaysDateFormat)
}
func (localsink *LocalSink) GetSinkToDirectory() string {
+ if localsink.todaysDateFormat != "" {
+ return filepath.Join(localsink.dir, time.Now().Format(localsink.todaysDateFormat))
+ }
return localsink.dir
}
@@ -56,7 +63,7 @@ func (localsink *LocalSink) DeleteEntry(key string, isDirectory, deleteIncludeCh
}
glog.V(4).Infof("Delete Entry key: %s", key)
if err := os.Remove(key); err != nil {
- return err
+ glog.V(0).Infof("remove entry key %s: %s", key, err)
}
return nil
}