Use --ignore-times when transferring files via rsync
Currently rsync is being called without passing --ignore-times nor
--checksum. So any file that has the same size/permission and
*timestamp* will not be transferred over. Now *timestamp* in this case
means 1 second resolution. See also the following rsync option which
explains it:
--modify-window=NUM, -@ When comparing two timestamps, rsync treats the
timestamps as being equal if they differ by no more than the
modify-window value. The default is 0, which matches just integer
seconds.
This has shown to be problematic at the very least with the mariadb
system transfer where only a partial list of files would be transferred,
causing all kinds of data corruption and segfaults in the database being
leapped.
We debated the use of --checksum vs --ignore-times and are settling on
--ignore-times to avoid any risks of hash collision (and hence missed
transfer of a different file, since the default hash is 128bits)
and because that is also what the galera SST helper uses and has proven
solid over time, so it seems the more cautious decision.
Closes-Bug: #1923898
Change-Id: Ibd53fad900cfa002bf2ad9b2ae6f62babd4140e5
Co-Authored-By: Damien Ciabrini <dciabrin@redhat.com>
Co-Authored-By: John Eckersberg <jeckersb@redhat.com>
(cherry picked from commit 7ada6e1f19
)
This commit is contained in:
parent
3e78f21aa4
commit
5931d7c7b1
|
@ -72,6 +72,7 @@
|
|||
-v
|
||||
--delay-updates
|
||||
-F
|
||||
--ignore-times
|
||||
--compress
|
||||
--archive
|
||||
--delete
|
||||
|
|
Loading…
Reference in New Issue