mc icon indicating copy to clipboard operation
mc copied to clipboard

mirror:not overwrit target object when mirror watch

Open dormanze opened this issue 8 months ago • 1 comments

fix #5192

Community Contribution License

All community contributions in this pull request are licensed to the project maintainers under the terms of the Apache 2 license. By creating this pull request I represent that I have the right to license the contributions to the project maintainers under the Apache 2 license.

Description

Motivation and Context

make sure mirror command overwrit same when the watch is used and when the watch command is not used.

How to test this PR?

mc mb local/bucket
mc mb peer/bucket
echo "1" > txt
mc cp txt peer/bucket
mc mirror -w local/bucket peer/bucket
echo "2" > txt
mc cp txt local/bucket
mc cat peer/bucket/txt
mc mb local/bucket
mc mb peer/bucket
echo "3" > txt
mc cp txt peer/bucket
mc mirror -w --overwrite local/bucket peer/bucket
echo "4" > txt
mc cp txt local/bucket
mc cat peer/bucket/txt

Types of changes

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [ ] Optimization (provides speedup with no functional changes)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • [ ] Fixes a regression (If yes, please add commit-id or PR # here)
  • [ ] Unit tests added/updated
  • [ ] Internal documentation updated
  • [ ] Create a documentation update request here

dormanze avatar Apr 23 '25 02:04 dormanze

@jiuker pls check this pr thanks

sheiy avatar Apr 25 '25 05:04 sheiy

Let me test first. Will get back here

jiuker avatar Jul 18 '25 08:07 jiuker

Let me test first. Will get back here

@jiuker ^^?

harshavardhana avatar Jul 23 '25 20:07 harshavardhana

Sorry. I can't reprdouce it.

mc mb local/bucket
mc mb peer/bucket
echo "1" > txt
mc cp txt peer/bucket
mc mirror -w local/bucket peer/bucket
echo "2" > txt
mc cp txt local/bucket
mc cat peer/bucket/txt

And your pr is change around mj.opts.activeActive, is not related to --overwrite

restart mc mirror

mc: <ERROR> Failed to perform mirroring, with error condition (mm-source-mtime) Overwrite not allowed for `http://172.25.244.240:9001/bucket/txt`. Use `--overwrite` to override this behavior.

when mc running do this shell

echo "5" > txt
mc cp txt minio9000/bucket
mc cat minio9001/bucket/txt
echo "6" > txt
mc cp txt minio9000/bucket
mc cat minio9001/bucket/txt
echo "7" > txt
mc cp txt minio9000/bucket
mc cat minio9001/bucket/txt

echo "8" > txt
# a new object to source
mc cp txt minio9000/bucket/txt2
mc cat minio9001/bucket/txt2

root@jiuker:/mnt/d/workspace/go/src/eos/stage# mc cat minio9001/bucket/txt
3
root@jiuker:/mnt/d/workspace/go/src/eos/stage# sh issue_mc_5193.sh 
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 26 B/s 0s
3
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 27 B/s 0s
3
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 27 B/s 0s
3
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 29 B/s 0s
root@jiuker:/mnt/d/workspace/go/src/eos/stage# mc cat minio9001/bucket/txt2
8
root@jiuker:/mnt/d/workspace/go/src/eos/stage#

Couldn't found any issues. Please share more info.

jiuker avatar Jul 23 '25 23:07 jiuker

Sorry. I can't reprdouce it.

mc mb local/bucket
mc mb peer/bucket
echo "1" > txt
mc cp txt peer/bucket
mc mirror -w local/bucket peer/bucket
echo "2" > txt
mc cp txt local/bucket
mc cat peer/bucket/txt

And your pr is change around mj.opts.activeActive, is not related to --overwrite

restart mc mirror

mc: <ERROR> Failed to perform mirroring, with error condition (mm-source-mtime) Overwrite not allowed for `http://172.25.244.240:9001/bucket/txt`. Use `--overwrite` to override this behavior.

when mc running do this shell

echo "5" > txt
mc cp txt minio9000/bucket
mc cat minio9001/bucket/txt
echo "6" > txt
mc cp txt minio9000/bucket
mc cat minio9001/bucket/txt
echo "7" > txt
mc cp txt minio9000/bucket
mc cat minio9001/bucket/txt

echo "8" > txt
# a new object to source
mc cp txt minio9000/bucket/txt2
mc cat minio9001/bucket/txt2

root@jiuker:/mnt/d/workspace/go/src/eos/stage# mc cat minio9001/bucket/txt
3
root@jiuker:/mnt/d/workspace/go/src/eos/stage# sh issue_mc_5193.sh 
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 26 B/s 0s
3
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 27 B/s 0s
3
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 27 B/s 0s
3
/mnt/d/workspace/go/src/eos/stage/txt:  2 B / 2 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 29 B/s 0s
root@jiuker:/mnt/d/workspace/go/src/eos/stage# mc cat minio9001/bucket/txt2
8
root@jiuker:/mnt/d/workspace/go/src/eos/stage#

Couldn't found any issues. Please share more info.

this #5192 my fixed by #5197, I will close my PR.

dormanze avatar Jul 24 '25 03:07 dormanze

Thank you for your contribution.

jiuker avatar Jul 24 '25 03:07 jiuker