swift/test/probe
Samuel Merritt 745581ff2f Don't make async_pendings during object expiration
After deleting an object, the object expirer deletes the corresponding
row from the expirer queue by making DELETE requests directly to the
container servers. The same thing happens after attempting to delete
an object, but failing because the object has already been deleted. If
the DELETE requests fail, then the expirer will encounter that row
again on its next pass and retry the DELETE at that time. Therefore,
it is not necessary for the object server to write an async_pending
for that queue row's deletion.

Currently, however, two of the object servers do write such
async_pendings. Given Rc container replicas, that's 2 * Rc updates
from async_pendings and another Rc from the object expirer
directly. Given a typical Rc of 3, that's 9 container updates per
expiring object.

This commit makes the object server write no async_pendings for DELETE
requests coming from the object expirer. This reduces the number of
container server requests to Rc (typically 3), all issued directly
from the object expirer.

Closes-Bug: 1076202
Change-Id: Icd63c80c73f864d2561e745c3154fbfda02bd0cc
2018-01-17 10:39:11 -08:00
..
__init__.py Add license in swift code file 2017-07-05 10:07:11 +08:00
brain.py Trivial fix typos 2017-05-30 14:26:23 +07:00
common.py add symlink to probetest for reconciler 2017-12-14 12:16:39 -08:00
test_account_failures.py Remove executable flag from some test modules 2016-10-31 21:22:10 +00:00
test_account_get_fake_responses_match.py Remove executable flag from some test modules 2016-10-31 21:22:10 +00:00
test_account_reaper.py Follow up delayed reap probe test 2016-08-18 14:08:56 +01:00
test_container_failures.py Remove executable flag from some test modules 2016-10-31 21:22:10 +00:00
test_container_merge_policy_index.py add symlink to probetest for reconciler 2017-12-14 12:16:39 -08:00
test_container_sync.py Symlink implementation. 2017-12-13 21:26:12 +00:00
test_db_replicator.py Cleanup db replicator probetest 2017-06-07 16:21:08 -07:00
test_empty_device_handoff.py Remove executable flag from some test modules 2016-10-31 21:22:10 +00:00
test_object_async_update.py No longer import nose 2017-11-07 15:39:25 +11:00
test_object_expirer.py Don't make async_pendings during object expiration 2018-01-17 10:39:11 -08:00
test_object_failures.py Remove executable flag from some test modules 2016-10-31 21:22:10 +00:00
test_object_handoff.py Return 404 on a GET if tombstone is newer 2017-10-24 14:35:06 -04:00
test_object_metadata_replication.py Remove all post_as_copy related code and configes 2017-09-16 05:50:41 +00:00
test_object_partpower_increase.py Add support to increase object ring partition power 2017-06-15 15:08:48 -07:00
test_reconstructor_rebuild.py Add probe test for ssync of unexpired metadata to an expired object 2017-08-25 15:36:00 -07:00
test_reconstructor_revert.py Tolerate swiftclient *not* mutatinng args 2017-08-25 12:27:41 -07:00
test_replication_servers_working.py Replace replication_one_per_device by custom count 2017-10-24 16:17:41 +01:00
test_signals.py Fix signal handling for daemons with InternalClient 2016-11-04 20:00:00 -07:00