aboutsummaryrefslogtreecommitdiff
path: root/weed/replication/replicator.go
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2022-07-27 19:22:57 +0500
committerKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2022-07-27 19:22:57 +0500
commit7e09a548a64a6ffd62f40e8b38a96d6b20f9828b (patch)
tree490f9a56b8308a3b116a220128c887c210ab3113 /weed/replication/replicator.go
parentf401b996eb421294920fe048df5b1b646a558324 (diff)
downloadseaweedfs-7e09a548a64a6ffd62f40e8b38a96d6b20f9828b.tar.xz
seaweedfs-7e09a548a64a6ffd62f40e8b38a96d6b20f9828b.zip
exclude directories to sync on filer
Diffstat (limited to 'weed/replication/replicator.go')
-rw-r--r--weed/replication/replicator.go17
1 files changed, 13 insertions, 4 deletions
diff --git a/weed/replication/replicator.go b/weed/replication/replicator.go
index eaab2c13e..8fee23b95 100644
--- a/weed/replication/replicator.go
+++ b/weed/replication/replicator.go
@@ -16,8 +16,9 @@ import (
)
type Replicator struct {
- sink sink.ReplicationSink
- source *source.FilerSource
+ sink sink.ReplicationSink
+ source *source.FilerSource
+ excludeDirs []string
}
func NewReplicator(sourceConfig util.Configuration, configPrefix string, dataSink sink.ReplicationSink) *Replicator {
@@ -28,8 +29,9 @@ func NewReplicator(sourceConfig util.Configuration, configPrefix string, dataSin
dataSink.SetSourceFiler(source)
return &Replicator{
- sink: dataSink,
- source: source,
+ sink: dataSink,
+ source: source,
+ excludeDirs: sourceConfig.GetStringSlice(configPrefix + "excludeDirectories"),
}
}
@@ -41,6 +43,13 @@ func (r *Replicator) Replicate(ctx context.Context, key string, message *filer_p
glog.V(4).Infof("skipping %v outside of %v", key, r.source.Dir)
return nil
}
+ for _, excludeDir := range r.excludeDirs {
+ if strings.HasPrefix(key, excludeDir) {
+ glog.V(4).Infof("skipping %v of exclude dir %v", key, excludeDir)
+ return nil
+ }
+ }
+
var dateKey string
if r.sink.IsIncremental() {
var mTime int64