Grouping multiple updates from send (for example) into a single transaction may have advantages for both speed and integrity.
Ideas:
Add metadata .tmp updates to a queue in the ArchiveSet, instead of going through the normal save-and-rename chain.
Use a global transaction id and append it to the name of each metadata file (instead of using '.tmp' suffix).
Do all _update_deltadigest() in one batch (for incrementals) and then group the zero-change vols together during send; then process the resulting metadata update queue. This saves a lot of latency overhead when --send-unchanged is used.
Possibly use this to simplify recovery from _inprocess interruption.
Possibly re-use tar stream process and start/manage it in _monitorsend() instead.
Grouping multiple updates from
send
(for example) into a single transaction may have advantages for both speed and integrity.Ideas:
send
; then process the resulting metadata update queue. This saves a lot of latency overhead when--send-unchanged
is used.