swift/test/probe
Clay Gerrard 01f6e86006 Add Expected Failure for ssync with sys-meta
Sysmeta included with an object PUT persists with the PUT data - if an
internal operation such as POST-as-copy during partial failure, or ssync
with fast-POST (not supported), causes that data to be lost then the
associated sysmeta will also be lost.

Since object sys-meta persistence in the face of a POST when the
original .data is unavailable requires fast-POST with .meta files the
probetest that validates object sys-meta persistence of a POST when the
most up-to-date copy of the object with sys-meta is unavailable
configures an InternalClient with object_post_as_copy = false.

This non-default configuration option is not supported by ssync and
results in a loss of sys-meta very similar to the object sys-meta
failure you would see with object_post_as_copy = true when the COPY part
of the POST is unable to retrieve the most recently written object with
sys-meta.

Until we can fix the default POST behavior to make metadata updates
without stomping on newer data file timestamps we should expect object
sys-meta to be "very very best possible but not really guaranteed
effort".

Until we can fix ssync to replicate metadata updates without stomping on
newer data file timestamps we should expect this test to fail.

When ssync replication of fast-POST metadata update is fixed this test
will fail signaling that the expected failure cruft should be removed,
but other parts of ssync replication will still work and some other bugs
can be fixed while we wait.

Change-Id: Ifc5d49514de79b78f7715408e0fe0908357771d3
2014-11-25 14:28:00 -08:00
..
__init__.py Add option to make probetests more brittle 2013-07-19 01:39:42 -07:00
brain.py Enable object system metadata on PUTs 2014-08-01 16:41:33 -07:00
common.py Fixes probe tests with non-zero default storage policy 2014-06-18 21:09:53 -07:00
test_account_failures.py Fixes probe tests with non-zero default storage policy 2014-06-18 21:09:53 -07:00
test_account_get_fake_responses_match.py Fixes probe tests with non-zero default storage policy 2014-06-18 21:09:53 -07:00
test_account_reaper.py Add Storage Policy support to the Account Reaper 2014-06-18 21:09:54 -07:00
test_container_failures.py Fixes probe tests with non-zero default storage policy 2014-06-18 21:09:53 -07:00
test_container_merge_policy_index.py Enable object system metadata on PUTs 2014-08-01 16:41:33 -07:00
test_container_sync.py Add Storage Policy Support to Container Sync 2014-06-18 21:09:54 -07:00
test_empty_device_handoff.py Replace POLICY and POLICY_INDEX with string literals 2014-06-23 12:52:50 -07:00
test_object_async_update.py Fixes probe tests with non-zero default storage policy 2014-06-18 21:09:53 -07:00
test_object_expirer.py Add two vector timestamps 2014-06-19 10:18:06 -07:00
test_object_failures.py Replace POLICY and POLICY_INDEX with string literals 2014-06-23 12:52:50 -07:00
test_object_handoff.py Replace POLICY and POLICY_INDEX with string literals 2014-06-23 12:52:50 -07:00
test_object_metadata_replication.py Add Expected Failure for ssync with sys-meta 2014-11-25 14:28:00 -08:00
test_replication_servers_working.py Fixes probe tests with non-zero default storage policy 2014-06-18 21:09:53 -07:00