From 80c017907b936da411b713c5dcca2ba865288454 Mon Sep 17 00:00:00 2001 From: chrislu Date: Mon, 28 Feb 2022 10:07:06 -0800 Subject: [PATCH] filer.backup: fix backing up encrypted chunks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I have done filer.backup test: replication.toml: [sink.local] enabled = true directory = "/srv/test" ___ system@dat1:/srv/test$ weed filer.backup -filer=app1:8888 -filerProxy I0228 12:39:28 19571 filer_replication.go:129] Configure sink to local I0228 12:39:28 19571 filer_backup.go:98] resuming from 2022-02-28 12:04:20.210984693 +0100 CET I0228 12:39:29 19571 filer_backup.go:113] backup app1:8888 progressed to 2022-02-28 12:04:20.211726749 +0100 CET 0.33/sec system@dat1:/srv/test$ ls -l total 16 drwxr-xr-x 2 system system 4096 Feb 28 12:39 a -rw-r--r-- 1 system system 48 Feb 28 12:39 fu.txt -rw-r--r-- 1 system system 32 Feb 28 12:39 _index.html -rw-r--r-- 1 system system 68 Feb 28 12:39 index.php system@dat1:/srv/test$ cat fu.txt ? ?=?^??`?f^};?{4?Z%?X0=??rV????|"?1??θΈͺ~?? system@dat1:/srv/test$ On the active mount on the target server it's: system@app1:/srv/app$ ls -l total 2 drwxrwxr-x 1 system system 0 Feb 28 12:04 a -rw-r--r-- 1 system system 20 Feb 28 12:04 fu.txt -rw-r--r-- 1 system system 4 Feb 28 12:04 _index.html -rw-r--r-- 1 system system 40 Feb 28 12:04 index.php system@app1:/srv/app$ cat fu.txt This is static boy! Filer was started with: weed filer master="app1:9333,app2:9333,app3:9333" -encryptVolumeData It seems like it's still encrypted? --- weed/replication/repl_util/replication_util.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weed/replication/repl_util/replication_util.go b/weed/replication/repl_util/replication_util.go index 519a9a201..f135e6210 100644 --- a/weed/replication/repl_util/replication_util.go +++ b/weed/replication/repl_util/replication_util.go @@ -20,7 +20,7 @@ func CopyFromChunkViews(chunkViews []*filer.ChunkView, filerSource *source.Filer var shouldRetry bool for _, fileUrl := range fileUrls { - shouldRetry, err = util.ReadUrlAsStream(fileUrl, nil, false, chunk.IsFullChunk(), chunk.Offset, int(chunk.Size), func(data []byte) { + shouldRetry, err = util.ReadUrlAsStream(fileUrl, chunk.CipherKey, chunk.IsGzipped, chunk.IsFullChunk(), chunk.Offset, int(chunk.Size), func(data []byte) { writeErr = writeFunc(data) }) if err != nil {