swift/test/unit/obj
Alistair Coles ada9f0eeb0 reconstructor: purge meta files in pure handoffs
Previously, after reverting handoff files, the reconstructor would
only purge tombstones and data files for the reverted fragment
index. Any meta files were not purged because the partition might
also be on a primary node for a different fragment index.

For example, if, before the reconstructor visits, the object hash dir
contained:

  t1#1#d.data
  t1#2#d.data
  t2.meta

where frag index 1 is a handoff and gets reverted, then, after the
reconstructor has visited, the hash dir should still contain:

  t1#2#d.data
  t2.meta

If, before the reconstructor visits, the object hash dir contained:

  t1#1#d.data
  t2.meta

then, after the reconstructor has visited, the hash dir would still
contain:

  t2.meta

The retention of meta files is undesirable when the partition is a
"pure handoff" i.e. the node is not a primary for the partition for
any fragment index. With this patch the meta files are purged after
being reverted if the reconstructor has no sync job for the partition
(i.e. the partition is a "pure handoff") and there are no more
fragments to revert.

Change-Id: I107af3bc2d62768e063ef3176645d60ef22fa6d4
Co-Authored-By: Tim Burke <tim.burke@gmail.com>
2021-11-24 12:20:52 +00:00
..
__init__.py Initial commit of Swift code 2010-07-12 17:03:45 -05:00
common.py ssync: sync non-durable fragments from handoffs 2021-01-20 12:00:10 +00:00
test_auditor.py Dark Data Watcher: switch to agreement across the whole ring 2021-07-20 22:12:35 -05:00
test_diskfile.py reconstructor: purge meta files in pure handoffs 2021-11-24 12:20:52 +00:00
test_expirer.py Have expirer use IC's delete_object 2021-07-02 09:37:37 -07:00
test_reconstructor.py reconstructor: purge meta files in pure handoffs 2021-11-24 12:20:52 +00:00
test_replicator.py Test for PartitionLockTimeout 2021-10-25 10:43:18 -05:00
test_server.py Merge "object: Plumb logger_thread_locals through _finalize_put" 2021-04-29 18:56:59 +00:00
test_ssync.py ssync sender: add context to missing_check error log 2021-11-23 17:03:33 +00:00
test_ssync_receiver.py Cleanup tests' import of debug_logger 2021-04-27 12:04:41 +01:00
test_ssync_sender.py ssync sender: add context to missing_check error log 2021-11-23 17:03:33 +00:00
test_updater.py updater: Stop trying to quarantine missing asyncs 2021-06-22 22:56:40 +00:00