seaweedfs/weed
chrislu 9405eaefdb filer.sync: fix replicating partially updated file
Run two servers with volumes and fillers:
server -dir=Server1alpha -master.port=11000 -filer -filer.port=11001 -volume.port=11002
server -dir=Server1sigma -master.port=11006 -filer -filer.port=11007 -volume.port=11008

Run Active-Passive filler.sync:
filer.sync -a localhost:11007 -b localhost:11001 -isActivePassive

Upload file to 11007 port:
curl -F file=@/Desktop/9.xml "http://localhost:11007/testFacebook/"

If we request a file on two servers now, everything will be correct, even if we add data to the file and upload it again:
curl "http://localhost:11007/testFacebook/9.xml"
EQUALS
curl "http://localhost:11001/testFacebook/9.xml"

However, if we change the already existing data in the file (for example, we change the first line in the file, reducing its length), then this file on the second server will not be valid and will not be equivalent to the first file

Снимок экрана 2022-02-07 в 14 21 11

This problem occurs on line 202 in the filer_sink.go file. In particular, this is due to incorrect mapping of chunk names in the DoMinusChunks function. The names of deletedChunks do not match the chunks of existingEntry.Chunks, since the first chunks come from another server and have a different addressing (name) compared to the addressing on the server where the file is being overwritten.

Deleted chunks are not actually deleted on the server to which the file is replicated.
2022-02-07 03:46:28 -08:00
..
cluster add brokers 2021-11-09 08:50:55 -08:00
command change to util.WriteFile 2022-02-04 21:32:27 -08:00
filer filer.sync: fix replicating partially updated file 2022-02-07 03:46:28 -08:00
filesys use limited in memory buffer instead of swap file 2022-01-26 00:36:19 -08:00
ftpd go fmt 2021-09-14 10:37:06 -07:00
glog add log level possible values 2021-04-12 21:15:51 -07:00
iamapi use streaming mode for long poll grpc calls 2021-12-26 00:15:03 -08:00
images add util package 2022-02-04 21:34:58 -08:00
messaging use streaming mode for long poll grpc calls 2021-12-26 00:15:03 -08:00
notification Do reconnect to RabbitMQ 2021-02-11 13:59:36 +05:00
operation mount: skip special character in the filenames 2022-01-05 03:57:24 -08:00
pb remove max connection age 2022-01-27 02:28:22 -08:00
query go fmt 2019-10-09 00:03:18 -07:00
remote_storage use streaming mode for long poll grpc calls 2021-12-26 00:15:03 -08:00
replication filer.sync: fix replicating partially updated file 2022-02-07 03:46:28 -08:00
s3api Merge pull request #2632 from lapshin-vitaly/s3api_errors 2022-02-04 22:34:34 -08:00
security FEATURE: add JWT to HTTP endpoints of Filer and use them in S3 Client 2021-12-30 14:45:27 +01:00
sequence removing etcd sequencer 2021-10-10 19:10:46 -07:00
server move error to a separate file 2022-02-04 22:57:51 -08:00
shell [volume.check.disk] fix wrong logic to compare 2022-02-01 07:48:28 -08:00
static S 2021-07-15 17:43:38 -07:00
stats move error to a separate file 2022-02-04 22:57:51 -08:00
storage move error to a separate file 2022-02-04 22:57:51 -08:00
topology move error to a separate file 2022-02-04 22:57:51 -08:00
util sync call to write file, avoid vif loading error 2022-02-04 11:14:04 -08:00
wdclient move error to a separate file 2022-02-04 22:57:51 -08:00
Makefile adjust make file 2022-01-13 01:33:13 -08:00
weed.go Add autocomplete 2021-08-03 02:56:52 +09:00