From 3a5bbcd7a6501962ee4fd545e99de2e16d2c2853 Mon Sep 17 00:00:00 2001 From: Alistair Coles Date: Tue, 10 Dec 2024 10:50:38 +0000 Subject: [PATCH] Clarify ContainerBroker tests re expirer queue items Add some commentary as a reminder that whilst normal object updates to the ContainerBroker cannot have content-type timestamp older than data timestamp, expirer queue updates can. Change-Id: I6d8ad06c645f25497dc15173460430fd93747afa Related-Change: Ie4b25f1bd16def4069878983049b83de06f68e54 --- test/unit/container/test_backend.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/unit/container/test_backend.py b/test/unit/container/test_backend.py index d378da970e..7b7e6a66f4 100644 --- a/test/unit/container/test_backend.py +++ b/test/unit/container/test_backend.py @@ -7198,7 +7198,12 @@ class TestExpirerBytesCtypeTimestamp(test_db.TestDbBase): def test_in_order_expirer_bytes_ctype(self): broker = self._get_broker() - + # The ctype timestamp can be older than the row's data timestamp. For + # example, this may be the case with an expirer queue update arising + # from an object's x-delete-at being modified by a POST; the data + # timestamp is the time at which x-delete-at was modified by the POST; + # the content-type holds the object's size so the ctype timestamp is + # the time at which the expiring object was originally PUT. put1_ts = next(self.ts) put2_ts = next(self.ts) post_ts = next(self.ts)