]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/standalone/scrub: fix expected output in replicated repair tests
authorRonen Friedman <rfriedma@redhat.com>
Mon, 28 Apr 2025 16:34:47 +0000 (11:34 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Tue, 29 Apr 2025 11:31:04 +0000 (06:31 -0500)
Specifically - TEST_corrupt_scrub_replicated in osd-scrub-repair.sh.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
(cherry picked from commit 139967011d98d0cc75584750e19192573c8421a3)

qa/standalone/scrub/osd-scrub-repair.sh

index 3ec7d421342dd9b59912bd5743d708b3e14df36b..a59265f9e798f086de33fa5eea28d1f84d24f763 100755 (executable)
@@ -1259,16 +1259,75 @@ function TEST_corrupt_scrub_replicated() {
 
     jq "$jqfilter" << EOF | jq '.inconsistents' | python3 -c "$sortkeys" > $dir/checkcsjson
 {
+  "epoch": 181,
   "inconsistents": [
     {
+      "object": {
+        "name": "ROBJ1",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 3
+      },
+      "errors": [
+        "size_mismatch"
+      ],
+      "union_shard_errors": [
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
+      ],
+      "selected_object_info": {
+        "oid": {
+          "oid": "ROBJ1",
+          "key": "",
+          "snapid": -2,
+          "hash": 1454963827,
+          "max": 0,
+          "pool": 3,
+          "namespace": ""
+        },
+        "version": "62'71",
+        "prior_version": "26'3",
+        "last_reqid": "osd.1.0:71",
+        "user_version": 3,
+        "size": 7,
+        "mtime": "2025-04-28T11:21:52.097147-0500",
+        "local_mtime": "2025-04-28T11:21:52.098703-0500",
+        "lost": 0,
+        "flags": [
+          "dirty",
+          "omap",
+          "data_digest",
+          "omap_digest"
+        ],
+        "truncate_seq": 0,
+        "truncate_size": 0,
+        "data_digest": "0x2ddbf8f5",
+        "omap_digest": "0xf5fba2c6",
+        "expected_object_size": 0,
+        "expected_write_size": 0,
+        "alloc_hint_flags": 0,
+        "manifest": {
+          "type": 0
+        },
+        "watchers": {},
+        "shard_versions": []
+      },
       "shards": [
         {
-          "size": 7,
-          "errors": [],
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [],
+          "size": 7
         },
         {
+          "osd": 1,
+          "primary": true,
+          "errors": [
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
+          ],
+          "size": 9,
           "object_info": {
             "oid": {
               "oid": "ROBJ1",
@@ -1279,13 +1338,13 @@ function TEST_corrupt_scrub_replicated() {
               "pool": 3,
               "namespace": ""
             },
-            "version": "51'58",
-            "prior_version": "21'3",
-            "last_reqid": "osd.1.0:57",
+            "version": "62'71",
+            "prior_version": "26'3",
+            "last_reqid": "osd.1.0:71",
             "user_version": 3,
             "size": 7,
-            "mtime": "",
-            "local_mtime": "",
+            "mtime": "2025-04-28T11:21:52.097147-0500",
+            "local_mtime": "2025-04-28T11:21:52.098703-0500",
             "lost": 0,
             "flags": [
               "dirty",
@@ -1303,34 +1362,41 @@ function TEST_corrupt_scrub_replicated() {
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "size": 9,
-          "errors": [
-            "size_mismatch_info",
-            "obj_size_info_mismatch"
-          ],
-          "osd": 1,
-          "primary": true
+            "watchers": {},
+            "shard_versions": []
+          }
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ12",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 36
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "stat_error"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ1",
+          "oid": "ROBJ12",
           "key": "",
           "snapid": -2,
-          "hash": 1454963827,
+          "hash": 3920199997,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'58",
-        "prior_version": "21'3",
-        "last_reqid": "osd.1.0:57",
-        "user_version": 3,
+        "version": "62'69",
+        "prior_version": "48'36",
+        "last_reqid": "osd.1.0:69",
+        "user_version": 36,
         "size": 7,
-        "mtime": "2018-04-05 14:33:19.804040",
-        "local_mtime": "2018-04-05 14:33:19.804839",
+        "mtime": "2025-04-28T11:22:03.003600-0500",
+        "local_mtime": "2025-04-28T11:22:03.004994-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -1341,63 +1407,61 @@ function TEST_corrupt_scrub_replicated() {
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0xf5fba2c6",
+        "omap_digest": "0x067f306a",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "size_mismatch_info",
-        "obj_size_info_mismatch"
-      ],
-      "errors": [
-        "size_mismatch"
-      ],
-      "object": {
-        "version": 3,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ1"
-      }
-    },
-    {
       "shards": [
         {
+          "osd": 0,
+          "primary": false,
           "errors": [
             "stat_error"
-          ],
-          "osd": 0,
-          "primary": false
+          ]
         },
         {
-          "size": 7,
-          "errors": [],
           "osd": 1,
-          "primary": true
+          "primary": true,
+          "errors": [],
+          "size": 7
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ13",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 39
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "stat_error"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ12",
+          "oid": "ROBJ13",
           "key": "",
           "snapid": -2,
-          "hash": 3920199997,
+          "hash": 2682806379,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'56",
-        "prior_version": "43'36",
-        "last_reqid": "osd.1.0:55",
-        "user_version": 36,
+        "version": "62'72",
+        "prior_version": "50'39",
+        "last_reqid": "osd.1.0:72",
+        "user_version": 39,
         "size": 7,
-        "mtime": "",
-        "local_mtime": "",
+        "mtime": "2025-04-28T11:22:04.016695-0500",
+        "local_mtime": "2025-04-28T11:22:04.018373-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -1408,60 +1472,94 @@ function TEST_corrupt_scrub_replicated() {
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x067f306a",
+        "omap_digest": "0x6441854d",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "stat_error"
-      ],
-      "errors": [],
-      "object": {
-        "version": 36,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ12"
-      }
+      "shards": [
+        {
+          "osd": 0,
+          "primary": false,
+          "errors": [
+            "stat_error"
+          ]
+        },
+        {
+          "osd": 1,
+          "primary": true,
+          "errors": [],
+          "size": 7
+        }
+      ]
     },
     {
+      "object": {
+        "name": "ROBJ14",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 0
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "info_missing",
+        "info_corrupted"
+      ],
       "shards": [
         {
+          "osd": 0,
+          "primary": false,
           "errors": [
-            "stat_error"
+            "info_corrupted"
           ],
-          "osd": 0,
-          "primary": false
+          "size": 7,
+          "object_info": "bad-val"
         },
         {
-          "size": 7,
-          "errors": [],
           "osd": 1,
-          "primary": true
+          "primary": true,
+          "errors": [
+            "info_missing"
+          ],
+          "size": 7
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ15",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 45
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "info_missing"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ13",
+          "oid": "ROBJ15",
           "key": "",
           "snapid": -2,
-          "hash": 2682806379,
+          "hash": 504996876,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'59",
-        "prior_version": "45'39",
-        "last_reqid": "osd.1.0:58",
-        "user_version": 39,
+        "version": "62'60",
+        "prior_version": "54'45",
+        "last_reqid": "osd.1.0:60",
+        "user_version": 45,
         "size": 7,
-        "mtime": "",
-        "local_mtime": "",
+        "mtime": "2025-04-28T11:22:06.013439-0500",
+        "local_mtime": "2025-04-28T11:22:06.015089-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -1472,63 +1570,22 @@ function TEST_corrupt_scrub_replicated() {
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x6441854d",
+        "omap_digest": "0x2d2a4d6e",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "stat_error"
-      ],
-      "errors": [],
-      "object": {
-        "version": 39,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ13"
-      }
-    },
-    {
       "shards": [
         {
-          "object_info": "bad-val",
-          "size": 7,
-          "errors": [
-            "info_corrupted"
-          ],
           "osd": 0,
-          "primary": false
-        },
-        {
+          "primary": false,
+          "errors": [],
           "size": 7,
-          "errors": [
-            "info_missing"
-          ],
-          "osd": 1,
-          "primary": true
-        }
-      ],
-      "union_shard_errors": [
-        "info_missing",
-        "info_corrupted"
-      ],
-      "errors": [],
-      "object": {
-        "version": 0,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ14"
-      }
-    },
-    {
-      "shards": [
-        {
           "object_info": {
             "oid": {
               "oid": "ROBJ15",
@@ -1539,13 +1596,13 @@ function TEST_corrupt_scrub_replicated() {
               "pool": 3,
               "namespace": ""
             },
-            "version": "51'49",
-            "prior_version": "49'45",
-            "last_reqid": "osd.1.0:48",
+            "version": "62'60",
+            "prior_version": "54'45",
+            "last_reqid": "osd.1.0:60",
             "user_version": 45,
             "size": 7,
-            "mtime": "2018-04-05 14:33:29.498969",
-            "local_mtime": "2018-04-05 14:33:29.499890",
+            "mtime": "2025-04-28T11:22:06.013439-0500",
+            "local_mtime": "2025-04-28T11:22:06.015089-0500",
             "lost": 0,
             "flags": [
               "dirty",
@@ -1563,39 +1620,82 @@ function TEST_corrupt_scrub_replicated() {
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "size": 7,
-          "errors": [],
-          "osd": 0,
-          "primary": false
+            "watchers": {},
+            "shard_versions": []
+          }
         },
         {
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
             "info_missing"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7
         }
-      ],
-      "selected_object_info": {
-        "oid": {
-          "oid": "ROBJ15",
-          "key": "",
-          "snapid": -2,
-          "hash": 504996876,
-          "max": 0,
-          "pool": 3,
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ16",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 0
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "snapset_missing",
+        "snapset_corrupted"
+      ],
+      "shards": [
+        {
+          "osd": 0,
+          "primary": false,
+          "errors": [
+            "snapset_missing"
+          ],
+          "size": 7
+        },
+        {
+          "osd": 1,
+          "primary": true,
+          "errors": [
+            "snapset_corrupted"
+          ],
+          "size": 7,
+          "snapset": "bad-val"
+        }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ18",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 54
+      },
+      "errors": [
+        "object_info_inconsistency"
+      ],
+      "union_shard_errors": [],
+      "selected_object_info": {
+        "oid": {
+          "oid": "ROBJ18",
+          "key": "",
+          "snapid": -2,
+          "hash": 1629828556,
+          "max": 0,
+          "pool": 3,
           "namespace": ""
         },
-        "version": "51'49",
-        "prior_version": "49'45",
-        "last_reqid": "osd.1.0:48",
-        "user_version": 45,
+        "version": "62'61",
+        "prior_version": "60'54",
+        "last_reqid": "osd.1.0:61",
+        "user_version": 54,
         "size": 7,
-        "mtime": "",
-        "local_mtime": "",
+        "mtime": "2025-04-28T11:22:09.040482-0500",
+        "local_mtime": "2025-04-28T11:22:09.042104-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -1606,180 +1706,106 @@ function TEST_corrupt_scrub_replicated() {
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x2d2a4d6e",
+        "omap_digest": "0xddc3680f",
         "expected_object_size": 0,
         "expected_write_size": 0,
-        "alloc_hint_flags": 0,
+        "alloc_hint_flags": 255,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
-      },
-      "union_shard_errors": [
-        "info_missing"
-      ],
-      "errors": [],
-      "object": {
-        "version": 45,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ15"
-      }
-    },
-    {
-      "errors": [],
-      "object": {
-      "locator": "",
-      "name": "ROBJ16",
-      "nspace": "",
-      "snap": "head",
-      "version": 0
-       },
-        "shards": [
-      {
-        "errors": [
-          "snapset_missing"
-        ],
-        "osd": 0,
-        "primary": false,
-        "size": 7
+        "watchers": {},
+        "shard_versions": []
       },
-      {
-        "errors": [
-          "snapset_corrupted"
-        ],
-        "osd": 1,
-        "primary": true,
-        "snapset": "bad-val",
-        "size": 7
-      }
-      ],
-      "union_shard_errors": [
-        "snapset_missing",
-        "snapset_corrupted"
+      "shards": [
+        {
+          "osd": 0,
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "object_info": {
+            "oid": {
+              "oid": "ROBJ18",
+              "key": "",
+              "snapid": -2,
+              "hash": 1629828556,
+              "max": 0,
+              "pool": 3,
+              "namespace": ""
+            },
+            "version": "62'61",
+            "prior_version": "60'54",
+            "last_reqid": "osd.1.0:61",
+            "user_version": 54,
+            "size": 7,
+            "mtime": "2025-04-28T11:22:09.040482-0500",
+            "local_mtime": "2025-04-28T11:22:09.042104-0500",
+            "lost": 0,
+            "flags": [
+              "dirty",
+              "omap",
+              "data_digest",
+              "omap_digest"
+            ],
+            "truncate_seq": 0,
+            "truncate_size": 0,
+            "data_digest": "0x2ddbf8f5",
+            "omap_digest": "0xddc3680f",
+            "expected_object_size": 0,
+            "expected_write_size": 0,
+            "alloc_hint_flags": 0,
+            "manifest": {
+              "type": 0
+            },
+            "watchers": {},
+            "shard_versions": []
+          }
+        },
+        {
+          "osd": 1,
+          "primary": true,
+          "errors": [],
+          "size": 7,
+          "object_info": {
+            "oid": {
+              "oid": "ROBJ18",
+              "key": "",
+              "snapid": -2,
+              "hash": 1629828556,
+              "max": 0,
+              "pool": 3,
+              "namespace": ""
+            },
+            "version": "62'61",
+            "prior_version": "60'54",
+            "last_reqid": "osd.1.0:61",
+            "user_version": 54,
+            "size": 7,
+            "mtime": "2025-04-28T11:22:09.040482-0500",
+            "local_mtime": "2025-04-28T11:22:09.042104-0500",
+            "lost": 0,
+            "flags": [
+              "dirty",
+              "omap",
+              "data_digest",
+              "omap_digest"
+            ],
+            "truncate_seq": 0,
+            "truncate_size": 0,
+            "data_digest": "0x2ddbf8f5",
+            "omap_digest": "0xddc3680f",
+            "expected_object_size": 0,
+            "expected_write_size": 0,
+            "alloc_hint_flags": 255,
+            "manifest": {
+              "type": 0
+            },
+            "watchers": {},
+            "shard_versions": []
+          }
+        }
       ]
     },
     {
-     "errors": [
-       "object_info_inconsistency"
-     ],
-     "object": {
-       "locator": "",
-       "name": "ROBJ18",
-       "nspace": "",
-       "snap": "head"
-     },
-     "selected_object_info": {
-       "alloc_hint_flags": 255,
-       "data_digest": "0x2ddbf8f5",
-       "expected_object_size": 0,
-       "expected_write_size": 0,
-       "flags": [
-         "dirty",
-         "omap",
-         "data_digest",
-         "omap_digest"
-       ],
-       "lost": 0,
-       "manifest": {
-         "type": 0
-       },
-       "oid": {
-         "hash": 1629828556,
-         "key": "",
-         "max": 0,
-         "namespace": "",
-         "oid": "ROBJ18",
-         "pool": 3,
-         "snapid": -2
-       },
-       "omap_digest": "0xddc3680f",
-       "size": 7,
-       "truncate_seq": 0,
-       "truncate_size": 0,
-       "user_version": 54,
-       "watchers": {}
-     },
-     "shards": [
-       {
-         "errors": [],
-         "object_info": {
-           "alloc_hint_flags": 0,
-           "data_digest": "0x2ddbf8f5",
-           "expected_object_size": 0,
-           "expected_write_size": 0,
-           "flags": [
-             "dirty",
-             "omap",
-             "data_digest",
-             "omap_digest"
-           ],
-           "lost": 0,
-           "manifest": {
-             "type": 0
-           },
-           "oid": {
-             "hash": 1629828556,
-             "key": "",
-             "max": 0,
-             "namespace": "",
-             "oid": "ROBJ18",
-             "pool": 3,
-             "snapid": -2
-           },
-           "omap_digest": "0xddc3680f",
-           "size": 7,
-           "truncate_seq": 0,
-           "truncate_size": 0,
-           "user_version": 54,
-           "watchers": {}
-         },
-         "osd": 0,
-         "primary": false,
-         "size": 7
-       },
-       {
-         "errors": [],
-         "object_info": {
-           "alloc_hint_flags": 255,
-           "data_digest": "0x2ddbf8f5",
-           "expected_object_size": 0,
-           "expected_write_size": 0,
-           "flags": [
-             "dirty",
-             "omap",
-             "data_digest",
-             "omap_digest"
-           ],
-           "lost": 0,
-           "manifest": {
-             "type": 0
-           },
-           "oid": {
-             "hash": 1629828556,
-             "key": "",
-             "max": 0,
-             "namespace": "",
-             "oid": "ROBJ18",
-             "pool": 3,
-             "snapid": -2
-           },
-           "omap_digest": "0xddc3680f",
-           "size": 7,
-           "truncate_seq": 0,
-           "truncate_size": 0,
-           "user_version": 54,
-           "watchers": {}
-         },
-         "osd": 1,
-         "primary": true,
-         "size": 7
-       }
-     ],
-     "union_shard_errors": []
-   },
-   {
       "object": {
         "name": "ROBJ19",
         "nspace": "",
@@ -1801,13 +1827,13 @@ function TEST_corrupt_scrub_replicated() {
           "pool": 3,
           "namespace": ""
         },
-        "version": "63'59",
-        "prior_version": "63'58",
-        "last_reqid": "osd.1.0:58",
+        "version": "62'59",
+        "prior_version": "62'58",
+        "last_reqid": "osd.1.0:59",
         "user_version": 58,
         "size": 1049600,
-        "mtime": "2019-08-09T23:33:58.340709+0000",
-        "local_mtime": "2019-08-09T23:33:58.345676+0000",
+        "mtime": "2025-04-28T11:22:10.100849-0500",
+        "local_mtime": "2025-04-28T11:22:10.105095-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -1825,7 +1851,8 @@ function TEST_corrupt_scrub_replicated() {
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
       "shards": [
         {
@@ -1841,22 +1868,18 @@ function TEST_corrupt_scrub_replicated() {
           "size": 1049600
         }
       ]
-   },
-   {
-      "shards": [
-        {
-          "size": 7,
-          "errors": [],
-          "osd": 0,
-          "primary": false
-        },
-        {
-          "errors": [
-            "missing"
-          ],
-          "osd": 1,
-          "primary": true
-        }
+    },
+    {
+      "object": {
+        "name": "ROBJ3",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 9
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "missing"
       ],
       "selected_object_info": {
         "oid": {
@@ -1868,13 +1891,13 @@ function TEST_corrupt_scrub_replicated() {
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'61",
-        "prior_version": "25'9",
-        "last_reqid": "osd.1.0:60",
+        "version": "62'74",
+        "prior_version": "30'9",
+        "last_reqid": "osd.1.0:74",
         "user_version": 9,
         "size": 7,
-        "mtime": "",
-        "local_mtime": "",
+        "mtime": "2025-04-28T11:21:54.118266-0500",
+        "local_mtime": "2025-04-28T11:21:54.119905-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -1892,59 +1915,38 @@ function TEST_corrupt_scrub_replicated() {
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "missing"
-      ],
-      "errors": [],
-      "object": {
-        "version": 9,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ3"
-      }
-    },
-    {
       "shards": [
         {
-          "attrs": [
-            {
-              "Base64": false,
-              "value": "bad-val",
-              "name": "key1-ROBJ8"
-            },
-            {
-              "Base64": false,
-              "value": "val2-ROBJ8",
-              "name": "key2-ROBJ8"
-            }
-          ],
-          "size": 7,
-          "errors": [],
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [],
+          "size": 7
         },
         {
-          "attrs": [
-            {
-              "Base64": false,
-              "value": "val1-ROBJ8",
-              "name": "key1-ROBJ8"
-            },
-            {
-              "Base64": false,
-              "value": "val3-ROBJ8",
-              "name": "key3-ROBJ8"
-            }
-          ],
-          "size": 7,
-          "errors": [],
           "osd": 1,
-          "primary": true
+          "primary": true,
+          "errors": [
+            "missing"
+          ]
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ8",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 79
+      },
+      "errors": [
+        "attr_value_mismatch",
+        "attr_name_mismatch"
       ],
+      "union_shard_errors": [],
       "selected_object_info": {
         "oid": {
           "oid": "ROBJ8",
@@ -1955,13 +1957,13 @@ function TEST_corrupt_scrub_replicated() {
           "pool": 3,
           "namespace": ""
         },
-        "version": "79'66",
-        "prior_version": "79'65",
-        "last_reqid": "client.4554.0:1",
+        "version": "101'79",
+        "prior_version": "101'78",
+        "last_reqid": "client.4653.0:1",
         "user_version": 79,
         "size": 7,
-        "mtime": "",
-        "local_mtime": "",
+        "mtime": "2025-04-28T11:23:07.031027-0500",
+        "local_mtime": "2025-04-28T11:23:07.032484-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -1979,47 +1981,128 @@ function TEST_corrupt_scrub_replicated() {
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [],
-      "errors": [
-        "attr_value_mismatch",
-        "attr_name_mismatch"
-      ],
-      "object": {
-        "version": 66,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ8"
-      }
-    },
-    {
       "shards": [
         {
-          "object_info": {
-            "oid": {
-              "oid": "ROBJ9",
-              "key": "",
-              "snapid": -2,
-              "hash": 537189375,
-              "max": 0,
-              "pool": 3,
-              "namespace": ""
+          "osd": 0,
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "attrs": [
+            {
+              "name": "key1-ROBJ8",
+              "value": "bad-val",
+              "Base64": false
             },
-            "version": "95'67",
-            "prior_version": "51'64",
-            "last_reqid": "client.4649.0:1",
-            "user_version": 80,
-            "size": 1,
-            "mtime": "",
-            "local_mtime": "",
-            "lost": 0,
-            "flags": [
-              "dirty",
-              "omap",
-              "data_digest",
-              "omap_digest"
+            {
+              "name": "key2-ROBJ8",
+              "value": "val2-ROBJ8",
+              "Base64": false
+            }
+          ]
+        },
+        {
+          "osd": 1,
+          "primary": true,
+          "errors": [],
+          "size": 7,
+          "attrs": [
+            {
+              "name": "key1-ROBJ8",
+              "value": "val1-ROBJ8",
+              "Base64": false
+            },
+            {
+              "name": "key3-ROBJ8",
+              "value": "val3-ROBJ8",
+              "Base64": false
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ9",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 80
+      },
+      "errors": [
+        "object_info_inconsistency"
+      ],
+      "union_shard_errors": [
+        "obj_size_info_mismatch"
+      ],
+      "selected_object_info": {
+        "oid": {
+          "oid": "ROBJ9",
+          "key": "",
+          "snapid": -2,
+          "hash": 537189375,
+          "max": 0,
+          "pool": 3,
+          "namespace": ""
+        },
+        "version": "123'80",
+        "prior_version": "62'77",
+        "last_reqid": "client.4766.0:1",
+        "user_version": 80,
+        "size": 1,
+        "mtime": "2025-04-28T11:23:36.079391-0500",
+        "local_mtime": "2025-04-28T11:23:36.081189-0500",
+        "lost": 0,
+        "flags": [
+          "dirty",
+          "omap",
+          "data_digest",
+          "omap_digest"
+        ],
+        "truncate_seq": 0,
+        "truncate_size": 0,
+        "data_digest": "0x2b63260d",
+        "omap_digest": "0x2eecc539",
+        "expected_object_size": 0,
+        "expected_write_size": 0,
+        "alloc_hint_flags": 0,
+        "manifest": {
+          "type": 0
+        },
+        "watchers": {},
+        "shard_versions": []
+      },
+      "shards": [
+        {
+          "osd": 0,
+          "primary": false,
+          "errors": [],
+          "size": 1,
+          "object_info": {
+            "oid": {
+              "oid": "ROBJ9",
+              "key": "",
+              "snapid": -2,
+              "hash": 537189375,
+              "max": 0,
+              "pool": 3,
+              "namespace": ""
+            },
+            "version": "123'80",
+            "prior_version": "62'77",
+            "last_reqid": "client.4766.0:1",
+            "user_version": 80,
+            "size": 1,
+            "mtime": "2025-04-28T11:23:36.079391-0500",
+            "local_mtime": "2025-04-28T11:23:36.081189-0500",
+            "lost": 0,
+            "flags": [
+              "dirty",
+              "omap",
+              "data_digest",
+              "omap_digest"
             ],
             "truncate_seq": 0,
             "truncate_size": 0,
@@ -2031,14 +2114,17 @@ function TEST_corrupt_scrub_replicated() {
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "size": 1,
-          "errors": [],
-          "osd": 0,
-          "primary": false
+            "watchers": {},
+            "shard_versions": []
+          }
         },
         {
+          "osd": 1,
+          "primary": true,
+          "errors": [
+            "obj_size_info_mismatch"
+          ],
+          "size": 1,
           "object_info": {
             "oid": {
               "oid": "ROBJ9",
@@ -2049,13 +2135,13 @@ function TEST_corrupt_scrub_replicated() {
               "pool": 3,
               "namespace": ""
             },
-            "version": "51'64",
-            "prior_version": "37'27",
-            "last_reqid": "osd.1.0:63",
+            "version": "62'77",
+            "prior_version": "42'27",
+            "last_reqid": "osd.1.0:77",
             "user_version": 27,
             "size": 7,
-            "mtime": "2018-04-05 14:33:25.352485",
-            "local_mtime": "2018-04-05 14:33:25.353746",
+            "mtime": "2025-04-28T11:22:00.142317-0500",
+            "local_mtime": "2025-04-28T11:22:00.143807-0500",
             "lost": 0,
             "flags": [
               "dirty",
@@ -2073,69 +2159,15 @@ function TEST_corrupt_scrub_replicated() {
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "size": 1,
-          "errors": [
-            "obj_size_info_mismatch"
-          ],
-          "osd": 1,
-          "primary": true
+            "watchers": {},
+            "shard_versions": []
+          }
         }
-      ],
-      "selected_object_info": {
-        "oid": {
-          "oid": "ROBJ9",
-          "key": "",
-          "snapid": -2,
-          "hash": 537189375,
-          "max": 0,
-          "pool": 3,
-          "namespace": ""
-        },
-        "version": "95'67",
-        "prior_version": "51'64",
-        "last_reqid": "client.4649.0:1",
-        "user_version": 80,
-        "size": 1,
-        "mtime": "",
-        "local_mtime": "",
-        "lost": 0,
-        "flags": [
-          "dirty",
-          "omap",
-          "data_digest",
-          "omap_digest"
-        ],
-        "truncate_seq": 0,
-        "truncate_size": 0,
-        "data_digest": "0x2b63260d",
-        "omap_digest": "0x2eecc539",
-        "expected_object_size": 0,
-        "expected_write_size": 0,
-        "alloc_hint_flags": 0,
-        "manifest": {
-          "type": 0
-        },
-        "watchers": {}
-      },
-      "union_shard_errors": [
-         "obj_size_info_mismatch"
-      ],
-      "errors": [
-        "object_info_inconsistency"
-      ],
-      "object": {
-        "version": 67,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ9"
-      }
+      ]
     }
-  ],
-  "epoch": 0
+  ]
 }
+
 EOF
 
     jq "$jqfilter" $dir/json | jq '.inconsistents' | python3 -c "$sortkeys" > $dir/csjson
@@ -2237,18 +2269,82 @@ EOF
 
     jq "$jqfilter" << EOF | jq '.inconsistents' | python3 -c "$sortkeys" > $dir/checkcsjson
 {
+  "epoch": 203,
   "inconsistents": [
     {
+      "object": {
+        "name": "ROBJ1",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 3
+      },
+      "errors": [
+        "data_digest_mismatch",
+        "size_mismatch"
+      ],
+      "union_shard_errors": [
+        "data_digest_mismatch_info",
+        "size_mismatch_info",
+        "obj_size_info_mismatch"
+      ],
+      "selected_object_info": {
+        "oid": {
+          "oid": "ROBJ1",
+          "key": "",
+          "snapid": -2,
+          "hash": 1454963827,
+          "max": 0,
+          "pool": 3,
+          "namespace": ""
+        },
+        "version": "62'71",
+        "prior_version": "26'3",
+        "last_reqid": "osd.1.0:71",
+        "user_version": 3,
+        "size": 7,
+        "mtime": "2025-04-28T11:21:52.097147-0500",
+        "local_mtime": "2025-04-28T11:21:52.098703-0500",
+        "lost": 0,
+        "flags": [
+          "dirty",
+          "omap",
+          "data_digest",
+          "omap_digest"
+        ],
+        "truncate_seq": 0,
+        "truncate_size": 0,
+        "data_digest": "0x2ddbf8f5",
+        "omap_digest": "0xf5fba2c6",
+        "expected_object_size": 0,
+        "expected_write_size": 0,
+        "alloc_hint_flags": 0,
+        "manifest": {
+          "type": 0
+        },
+        "watchers": {},
+        "shard_versions": []
+      },
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xf5fba2c6",
-          "size": 7,
-          "errors": [],
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0xf5fba2c6",
+          "data_digest": "0x2ddbf8f5"
         },
         {
+          "osd": 1,
+          "primary": true,
+          "errors": [
+            "data_digest_mismatch_info",
+            "size_mismatch_info",
+            "obj_size_info_mismatch"
+          ],
+          "size": 9,
+          "omap_digest": "0xf5fba2c6",
+          "data_digest": "0x2d4a11c2",
           "object_info": {
             "oid": {
               "oid": "ROBJ1",
@@ -2259,13 +2355,13 @@ EOF
               "pool": 3,
               "namespace": ""
             },
-            "version": "51'58",
-            "prior_version": "21'3",
-            "last_reqid": "osd.1.0:57",
+            "version": "62'71",
+            "prior_version": "26'3",
+            "last_reqid": "osd.1.0:71",
             "user_version": 3,
             "size": 7,
-            "mtime": "2018-04-05 14:33:19.804040",
-            "local_mtime": "2018-04-05 14:33:19.804839",
+            "mtime": "2025-04-28T11:21:52.097147-0500",
+            "local_mtime": "2025-04-28T11:21:52.098703-0500",
             "lost": 0,
             "flags": [
               "dirty",
@@ -2283,37 +2379,41 @@ EOF
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "data_digest": "0x2d4a11c2",
-          "omap_digest": "0xf5fba2c6",
-          "size": 9,
-          "errors": [
-            "data_digest_mismatch_info",
-            "size_mismatch_info",
-            "obj_size_info_mismatch"
-          ],
-          "osd": 1,
-          "primary": true
+            "watchers": {},
+            "shard_versions": []
+          }
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ10",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 30
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "omap_digest_mismatch_info"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ1",
+          "oid": "ROBJ10",
           "key": "",
           "snapid": -2,
-          "hash": 1454963827,
+          "hash": 3174666125,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'58",
-        "prior_version": "21'3",
-        "last_reqid": "osd.1.0:57",
-        "user_version": 3,
+        "version": "62'68",
+        "prior_version": "44'30",
+        "last_reqid": "osd.1.0:68",
+        "user_version": 30,
         "size": 7,
-        "mtime": "2018-04-05 14:33:19.804040",
-        "local_mtime": "2018-04-05 14:33:19.804839",
+        "mtime": "2025-04-28T11:22:01.109390-0500",
+        "local_mtime": "2025-04-28T11:22:01.110932-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -2324,134 +2424,136 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0xf5fba2c6",
+        "omap_digest": "0xc2025a24",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
-      },
-      "union_shard_errors": [
-        "data_digest_mismatch_info",
-        "size_mismatch_info",
-        "obj_size_info_mismatch"
-      ],
-      "errors": [
-        "data_digest_mismatch",
-        "size_mismatch"
-      ],
-      "object": {
-        "version": 3,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ1"
-      }
-    },
-    {
+        "watchers": {},
+        "shard_versions": []
+      },
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xa8dd5adc",
-          "size": 7,
+          "osd": 0,
+          "primary": false,
           "errors": [
             "omap_digest_mismatch_info"
           ],
-          "osd": 0,
-          "primary": false
+          "size": 7,
+          "omap_digest": "0xa8dd5adc",
+          "data_digest": "0x2ddbf8f5"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xa8dd5adc",
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
             "omap_digest_mismatch_info"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7,
+          "omap_digest": "0xa8dd5adc",
+          "data_digest": "0x2ddbf8f5"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ11",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 33
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "read_error"
       ],
       "selected_object_info": {
-        "alloc_hint_flags": 0,
-        "data_digest": "0x2ddbf8f5",
-        "expected_object_size": 0,
-        "expected_write_size": 0,
+        "oid": {
+          "oid": "ROBJ11",
+          "key": "",
+          "snapid": -2,
+          "hash": 1828574689,
+          "max": 0,
+          "pool": 3,
+          "namespace": ""
+        },
+        "version": "62'64",
+        "prior_version": "46'33",
+        "last_reqid": "osd.1.0:64",
+        "user_version": 33,
+        "size": 7,
+        "mtime": "2025-04-28T11:22:02.079779-0500",
+        "local_mtime": "2025-04-28T11:22:02.081442-0500",
+        "lost": 0,
         "flags": [
           "dirty",
           "omap",
           "data_digest",
           "omap_digest"
         ],
-        "lost": 0,
+        "truncate_seq": 0,
+        "truncate_size": 0,
+        "data_digest": "0x2ddbf8f5",
+        "omap_digest": "0xa03cef03",
+        "expected_object_size": 0,
+        "expected_write_size": 0,
+        "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "oid": {
-          "hash": 3174666125,
-          "key": "",
-          "max": 0,
-          "namespace": "",
-          "oid": "ROBJ10",
-          "pool": 3,
-          "snapid": -2
-        },
-        "omap_digest": "0xc2025a24",
-        "size": 7,
-        "truncate_seq": 0,
-        "truncate_size": 0,
-        "user_version": 30,
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "omap_digest_mismatch_info"
-      ],
-      "errors": [],
-      "object": {
-        "version": 30,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ10"
-      }
-    },
-    {
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xa03cef03",
-          "size": 7,
-          "errors": [],
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0xa03cef03",
+          "data_digest": "0x2ddbf8f5"
         },
         {
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
             "read_error"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ12",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 36
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "stat_error"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ11",
+          "oid": "ROBJ12",
           "key": "",
           "snapid": -2,
-          "hash": 1828574689,
+          "hash": 3920199997,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'52",
-        "prior_version": "41'33",
-        "last_reqid": "osd.1.0:51",
-        "user_version": 33,
+        "version": "62'69",
+        "prior_version": "48'36",
+        "last_reqid": "osd.1.0:69",
+        "user_version": 36,
         "size": 7,
-        "mtime": "2018-04-05 14:33:26.761286",
-        "local_mtime": "2018-04-05 14:33:26.762368",
+        "mtime": "2025-04-28T11:22:03.003600-0500",
+        "local_mtime": "2025-04-28T11:22:03.004994-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -2462,62 +2564,131 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0xa03cef03",
+        "omap_digest": "0x067f306a",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
+      },
+      "shards": [
+        {
+          "osd": 0,
+          "primary": false,
+          "errors": [
+            "stat_error"
+          ]
+        },
+        {
+          "osd": 1,
+          "primary": true,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0x067f306a",
+          "data_digest": "0x2ddbf8f5"
+        }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ13",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 0
       },
+      "errors": [],
       "union_shard_errors": [
+        "stat_error",
         "read_error"
       ],
-      "errors": [],
-      "object": {
-        "version": 33,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ11"
-      }
-    },
-    {
       "shards": [
         {
+          "osd": 0,
+          "primary": false,
           "errors": [
             "stat_error"
+          ]
+        },
+        {
+          "osd": 1,
+          "primary": true,
+          "errors": [
+            "read_error"
           ],
+          "size": 7
+        }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ14",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 0
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "info_missing",
+        "info_corrupted"
+      ],
+      "shards": [
+        {
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [
+            "info_corrupted"
+          ],
+          "size": 7,
+          "omap_digest": "0x4f14f849",
+          "data_digest": "0x2ddbf8f5",
+          "object_info": "bad-val"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x067f306a",
-          "size": 7,
-          "errors": [],
           "osd": 1,
-          "primary": true
+          "primary": true,
+          "errors": [
+            "info_missing"
+          ],
+          "size": 7,
+          "omap_digest": "0x4f14f849",
+          "data_digest": "0x2ddbf8f5"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ15",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 45
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "info_missing"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ12",
+          "oid": "ROBJ15",
           "key": "",
           "snapid": -2,
-          "hash": 3920199997,
+          "hash": 504996876,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'56",
-        "prior_version": "43'36",
-        "last_reqid": "osd.1.0:55",
-        "user_version": 36,
+        "version": "62'60",
+        "prior_version": "54'45",
+        "last_reqid": "osd.1.0:60",
+        "user_version": 45,
         "size": 7,
-        "mtime": "2018-04-05 14:33:27.460958",
-        "local_mtime": "2018-04-05 14:33:27.462109",
+        "mtime": "2025-04-28T11:22:06.013439-0500",
+        "local_mtime": "2025-04-28T11:22:06.015089-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -2528,115 +2699,261 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x067f306a",
+        "omap_digest": "0x2d2a4d6e",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "stat_error"
-      ],
-      "errors": [],
-      "object": {
-        "version": 36,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ12"
-      }
+      "shards": [
+        {
+          "osd": 0,
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0x2d2a4d6e",
+          "data_digest": "0x2ddbf8f5",
+          "object_info": {
+            "oid": {
+              "oid": "ROBJ15",
+              "key": "",
+              "snapid": -2,
+              "hash": 504996876,
+              "max": 0,
+              "pool": 3,
+              "namespace": ""
+            },
+            "version": "62'60",
+            "prior_version": "54'45",
+            "last_reqid": "osd.1.0:60",
+            "user_version": 45,
+            "size": 7,
+            "mtime": "2025-04-28T11:22:06.013439-0500",
+            "local_mtime": "2025-04-28T11:22:06.015089-0500",
+            "lost": 0,
+            "flags": [
+              "dirty",
+              "omap",
+              "data_digest",
+              "omap_digest"
+            ],
+            "truncate_seq": 0,
+            "truncate_size": 0,
+            "data_digest": "0x2ddbf8f5",
+            "omap_digest": "0x2d2a4d6e",
+            "expected_object_size": 0,
+            "expected_write_size": 0,
+            "alloc_hint_flags": 0,
+            "manifest": {
+              "type": 0
+            },
+            "watchers": {},
+            "shard_versions": []
+          }
+        },
+        {
+          "osd": 1,
+          "primary": true,
+          "errors": [
+            "info_missing"
+          ],
+          "size": 7,
+          "omap_digest": "0x2d2a4d6e",
+          "data_digest": "0x2ddbf8f5"
+        }
+      ]
     },
     {
+      "object": {
+        "name": "ROBJ16",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 0
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "snapset_missing",
+        "snapset_corrupted"
+      ],
       "shards": [
         {
+          "osd": 0,
+          "primary": false,
           "errors": [
-            "stat_error"
+            "snapset_missing"
           ],
-          "osd": 0,
-          "primary": false
+          "size": 7,
+          "omap_digest": "0x8b699207",
+          "data_digest": "0x2ddbf8f5"
         },
         {
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
-            "read_error"
+            "snapset_corrupted"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7,
+          "omap_digest": "0x8b699207",
+          "data_digest": "0x2ddbf8f5",
+          "snapset": "bad-val"
         }
-      ],
-      "union_shard_errors": [
-        "stat_error",
-        "read_error"
-      ],
-      "errors": [],
-      "object": {
-        "version": 0,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ13"
-      }
+      ]
     },
     {
+      "object": {
+        "name": "ROBJ17",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 51
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "data_digest_mismatch_info"
+      ],
+      "selected_object_info": {
+        "oid": {
+          "oid": "ROBJ17",
+          "key": "",
+          "snapid": -2,
+          "hash": 1884071249,
+          "max": 0,
+          "pool": 3,
+          "namespace": ""
+        },
+        "version": "62'65",
+        "prior_version": "58'51",
+        "last_reqid": "osd.1.0:65",
+        "user_version": 51,
+        "size": 7,
+        "mtime": "2025-04-28T11:22:08.037672-0500",
+        "local_mtime": "2025-04-28T11:22:08.039267-0500",
+        "lost": 0,
+        "flags": [
+          "dirty",
+          "omap",
+          "data_digest",
+          "omap_digest"
+        ],
+        "truncate_seq": 0,
+        "truncate_size": 0,
+        "data_digest": "0x2ddbf8f5",
+        "omap_digest": "0xe9572720",
+        "expected_object_size": 0,
+        "expected_write_size": 0,
+        "alloc_hint_flags": 0,
+        "manifest": {
+          "type": 0
+        },
+        "watchers": {},
+        "shard_versions": []
+      },
       "shards": [
         {
-          "object_info": "bad-val",
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x4f14f849",
-          "size": 7,
+          "osd": 0,
+          "primary": false,
           "errors": [
-            "info_corrupted"
+            "data_digest_mismatch_info"
           ],
-          "osd": 0,
-          "primary": false
+          "size": 7,
+          "omap_digest": "0xe9572720",
+          "data_digest": "0x5af0c3ef"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x4f14f849",
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
-            "info_missing"
+            "data_digest_mismatch_info"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7,
+          "omap_digest": "0xe9572720",
+          "data_digest": "0x5af0c3ef"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ18",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 54
+      },
+      "errors": [
+        "object_info_inconsistency"
       ],
       "union_shard_errors": [
-        "info_missing",
-        "info_corrupted"
+        "data_digest_mismatch_info"
       ],
-      "errors": [],
-      "object": {
-        "version": 0,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ14"
-      }
-    },
-    {
+      "selected_object_info": {
+        "oid": {
+          "oid": "ROBJ18",
+          "key": "",
+          "snapid": -2,
+          "hash": 1629828556,
+          "max": 0,
+          "pool": 3,
+          "namespace": ""
+        },
+        "version": "62'61",
+        "prior_version": "60'54",
+        "last_reqid": "osd.1.0:61",
+        "user_version": 54,
+        "size": 7,
+        "mtime": "2025-04-28T11:22:09.040482-0500",
+        "local_mtime": "2025-04-28T11:22:09.042104-0500",
+        "lost": 0,
+        "flags": [
+          "dirty",
+          "omap",
+          "data_digest",
+          "omap_digest"
+        ],
+        "truncate_seq": 0,
+        "truncate_size": 0,
+        "data_digest": "0x2ddbf8f5",
+        "omap_digest": "0xddc3680f",
+        "expected_object_size": 0,
+        "expected_write_size": 0,
+        "alloc_hint_flags": 255,
+        "manifest": {
+          "type": 0
+        },
+        "watchers": {},
+        "shard_versions": []
+      },
       "shards": [
         {
+          "osd": 0,
+          "primary": false,
+          "errors": [
+            "data_digest_mismatch_info"
+          ],
+          "size": 7,
+          "omap_digest": "0xddc3680f",
+          "data_digest": "0xbd89c912",
           "object_info": {
             "oid": {
-              "oid": "ROBJ15",
+              "oid": "ROBJ18",
               "key": "",
               "snapid": -2,
-              "hash": 504996876,
+              "hash": 1629828556,
               "max": 0,
               "pool": 3,
               "namespace": ""
             },
-            "version": "51'49",
-            "prior_version": "49'45",
-            "last_reqid": "osd.1.0:48",
-            "user_version": 45,
+            "version": "62'61",
+            "prior_version": "60'54",
+            "last_reqid": "osd.1.0:61",
+            "user_version": 54,
             "size": 7,
-            "mtime": "2018-04-05 14:33:29.498969",
-            "local_mtime": "2018-04-05 14:33:29.499890",
+            "mtime": "2025-04-28T11:22:09.040482-0500",
+            "local_mtime": "2025-04-28T11:22:09.042104-0500",
             "lost": 0,
             "flags": [
               "dirty",
@@ -2647,50 +2964,97 @@ EOF
             "truncate_seq": 0,
             "truncate_size": 0,
             "data_digest": "0x2ddbf8f5",
-            "omap_digest": "0x2d2a4d6e",
+            "omap_digest": "0xddc3680f",
             "expected_object_size": 0,
             "expected_write_size": 0,
             "alloc_hint_flags": 0,
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x2d2a4d6e",
-          "size": 7,
-          "errors": [],
-          "osd": 0,
-          "primary": false
+            "watchers": {},
+            "shard_versions": []
+          }
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x2d2a4d6e",
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
-            "info_missing"
+            "data_digest_mismatch_info"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7,
+          "omap_digest": "0xddc3680f",
+          "data_digest": "0xbd89c912",
+          "object_info": {
+            "oid": {
+              "oid": "ROBJ18",
+              "key": "",
+              "snapid": -2,
+              "hash": 1629828556,
+              "max": 0,
+              "pool": 3,
+              "namespace": ""
+            },
+            "version": "62'61",
+            "prior_version": "60'54",
+            "last_reqid": "osd.1.0:61",
+            "user_version": 54,
+            "size": 7,
+            "mtime": "2025-04-28T11:22:09.040482-0500",
+            "local_mtime": "2025-04-28T11:22:09.042104-0500",
+            "lost": 0,
+            "flags": [
+              "dirty",
+              "omap",
+              "data_digest",
+              "omap_digest"
+            ],
+            "truncate_seq": 0,
+            "truncate_size": 0,
+            "data_digest": "0x2ddbf8f5",
+            "omap_digest": "0xddc3680f",
+            "expected_object_size": 0,
+            "expected_write_size": 0,
+            "alloc_hint_flags": 255,
+            "manifest": {
+              "type": 0
+            },
+            "watchers": {},
+            "shard_versions": []
+          }
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ2",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 6
+      },
+      "errors": [
+        "data_digest_mismatch"
+      ],
+      "union_shard_errors": [
+        "data_digest_mismatch_info"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ15",
+          "oid": "ROBJ2",
           "key": "",
           "snapid": -2,
-          "hash": 504996876,
+          "hash": 2026323607,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'49",
-        "prior_version": "49'45",
-        "last_reqid": "osd.1.0:48",
-        "user_version": 45,
+        "version": "62'73",
+        "prior_version": "28'6",
+        "last_reqid": "osd.1.0:73",
+        "user_version": 6,
         "size": 7,
-        "mtime": "2018-04-05 14:33:29.498969",
-        "local_mtime": "2018-04-05 14:33:29.499890",
+        "mtime": "2025-04-28T11:21:53.103855-0500",
+        "local_mtime": "2025-04-28T11:21:53.105331-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -2701,296 +3065,66 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x2d2a4d6e",
+        "omap_digest": "0xf8e11918",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
-      },
-      "union_shard_errors": [
-        "info_missing"
-      ],
-      "errors": [],
-      "object": {
-        "version": 45,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ15"
-      }
-    },
-    {
-      "errors": [],
-      "object": {
-      "locator": "",
-      "name": "ROBJ16",
-      "nspace": "",
-      "snap": "head",
-      "version": 0
-       },
-        "shards": [
-      {
-        "data_digest": "0x2ddbf8f5",
-        "errors": [
-          "snapset_missing"
-        ],
-        "omap_digest": "0x8b699207",
-        "osd": 0,
-        "primary": false,
-        "size": 7
+        "watchers": {},
+        "shard_versions": []
       },
-      {
-        "snapset": "bad-val",
-        "data_digest": "0x2ddbf8f5",
-        "errors": [
-          "snapset_corrupted"
-        ],
-        "omap_digest": "0x8b699207",
-        "osd": 1,
-        "primary": true,
-        "size": 7
-      }
-      ],
-      "union_shard_errors": [
-        "snapset_missing",
-        "snapset_corrupted"
-      ]
-    },
-    {
-     "errors": [],
-     "object": {
-       "locator": "",
-       "name": "ROBJ17",
-       "nspace": "",
-       "snap": "head"
-     },
-     "selected_object_info": {
-       "alloc_hint_flags": 0,
-       "data_digest": "0x2ddbf8f5",
-       "expected_object_size": 0,
-       "expected_write_size": 0,
-       "flags": [
-         "dirty",
-         "omap",
-         "data_digest",
-         "omap_digest"
-       ],
-       "lost": 0,
-       "manifest": {
-         "type": 0
-       },
-       "oid": {
-         "hash": 1884071249,
-         "key": "",
-         "max": 0,
-         "namespace": "",
-         "oid": "ROBJ17",
-         "pool": 3,
-         "snapid": -2
-       },
-       "omap_digest": "0xe9572720",
-       "size": 7,
-       "truncate_seq": 0,
-       "truncate_size": 0,
-       "user_version": 51,
-       "watchers": {}
-     },
-     "shards": [
-       {
-         "data_digest": "0x5af0c3ef",
-         "errors": [
-           "data_digest_mismatch_info"
-         ],
-         "omap_digest": "0xe9572720",
-         "osd": 0,
-         "primary": false,
-         "size": 7
-       },
-       {
-         "data_digest": "0x5af0c3ef",
-         "errors": [
-           "data_digest_mismatch_info"
-         ],
-         "omap_digest": "0xe9572720",
-         "osd": 1,
-         "primary": true,
-         "size": 7
-       }
-     ],
-     "union_shard_errors": [
-       "data_digest_mismatch_info"
-     ]
-   },
-   {
-     "errors": [
-       "object_info_inconsistency"
-     ],
-     "object": {
-       "locator": "",
-       "name": "ROBJ18",
-       "nspace": "",
-       "snap": "head"
-     },
-     "selected_object_info": {
-       "alloc_hint_flags": 255,
-       "data_digest": "0x2ddbf8f5",
-       "expected_object_size": 0,
-       "expected_write_size": 0,
-       "flags": [
-         "dirty",
-         "omap",
-         "data_digest",
-         "omap_digest"
-       ],
-       "lost": 0,
-       "manifest": {
-         "type": 0
-       },
-       "oid": {
-         "hash": 1629828556,
-         "key": "",
-         "max": 0,
-         "namespace": "",
-         "oid": "ROBJ18",
-         "pool": 3,
-         "snapid": -2
-       },
-       "omap_digest": "0xddc3680f",
-       "size": 7,
-       "truncate_seq": 0,
-       "truncate_size": 0,
-       "user_version": 54,
-       "watchers": {}
-     },
-     "shards": [
-       {
-         "data_digest": "0xbd89c912",
-         "errors": [
-           "data_digest_mismatch_info"
-         ],
-         "object_info": {
-           "alloc_hint_flags": 0,
-           "data_digest": "0x2ddbf8f5",
-           "expected_object_size": 0,
-           "expected_write_size": 0,
-           "flags": [
-             "dirty",
-             "omap",
-             "data_digest",
-             "omap_digest"
-           ],
-           "lost": 0,
-           "manifest": {
-             "type": 0
-           },
-           "oid": {
-             "hash": 1629828556,
-             "key": "",
-             "max": 0,
-             "namespace": "",
-             "oid": "ROBJ18",
-             "pool": 3,
-             "snapid": -2
-           },
-           "omap_digest": "0xddc3680f",
-           "size": 7,
-           "truncate_seq": 0,
-           "truncate_size": 0,
-           "user_version": 54,
-           "watchers": {}
-         },
-         "omap_digest": "0xddc3680f",
-         "osd": 0,
-         "primary": false,
-         "size": 7
-       },
-       {
-         "data_digest": "0xbd89c912",
-         "errors": [
-           "data_digest_mismatch_info"
-         ],
-         "object_info": {
-           "alloc_hint_flags": 255,
-           "data_digest": "0x2ddbf8f5",
-           "expected_object_size": 0,
-           "expected_write_size": 0,
-           "flags": [
-             "dirty",
-             "omap",
-             "data_digest",
-             "omap_digest"
-           ],
-           "lost": 0,
-           "manifest": {
-             "type": 0
-           },
-           "oid": {
-             "hash": 1629828556,
-             "key": "",
-             "max": 0,
-             "namespace": "",
-             "oid": "ROBJ18",
-             "pool": 3,
-             "snapid": -2
-           },
-           "omap_digest": "0xddc3680f",
-           "size": 7,
-           "truncate_seq": 0,
-           "truncate_size": 0,
-           "user_version": 54,
-           "watchers": {}
-         },
-         "omap_digest": "0xddc3680f",
-         "osd": 1,
-         "primary": true,
-         "size": 7
-       }
-     ],
-     "union_shard_errors": [
-       "data_digest_mismatch_info"
-     ]
-   },
-   {
-     "shards": [
+      "shards": [
         {
-          "data_digest": "0x578a4830",
-          "omap_digest": "0xf8e11918",
-          "size": 7,
+          "osd": 0,
+          "primary": false,
           "errors": [
             "data_digest_mismatch_info"
           ],
-          "osd": 0,
-          "primary": false
+          "size": 7,
+          "omap_digest": "0xf8e11918",
+          "data_digest": "0x578a4830"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xf8e11918",
-          "size": 7,
-          "errors": [],
           "osd": 1,
-          "primary": true
+          "primary": true,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0xf8e11918",
+          "data_digest": "0x2ddbf8f5"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ3",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 9
+      },
+      "errors": [],
+      "union_shard_errors": [
+        "missing"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ2",
+          "oid": "ROBJ3",
           "key": "",
           "snapid": -2,
-          "hash": 2026323607,
+          "hash": 625845583,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'60",
-        "prior_version": "23'6",
-        "last_reqid": "osd.1.0:59",
-        "user_version": 6,
+        "version": "62'74",
+        "prior_version": "30'9",
+        "last_reqid": "osd.1.0:74",
+        "user_version": 9,
         "size": 7,
-        "mtime": "2018-04-05 14:33:20.498756",
-        "local_mtime": "2018-04-05 14:33:20.499704",
+        "mtime": "2025-04-28T11:21:54.118266-0500",
+        "local_mtime": "2025-04-28T11:21:54.119905-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -3001,64 +3135,65 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0xf8e11918",
+        "omap_digest": "0x00b35dfd",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "data_digest_mismatch_info"
-      ],
-      "errors": [
-        "data_digest_mismatch"
-      ],
-      "object": {
-        "version": 6,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ2"
-      }
-    },
-    {
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x00b35dfd",
-          "size": 7,
-          "errors": [],
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0x00b35dfd",
+          "data_digest": "0x2ddbf8f5"
         },
         {
+          "osd": 1,
+          "primary": true,
           "errors": [
             "missing"
-          ],
-          "osd": 1,
-          "primary": true
+          ]
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ4",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 12
+      },
+      "errors": [
+        "omap_digest_mismatch"
+      ],
+      "union_shard_errors": [
+        "omap_digest_mismatch_info"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ3",
+          "oid": "ROBJ4",
           "key": "",
           "snapid": -2,
-          "hash": 625845583,
+          "hash": 2360875311,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'61",
-        "prior_version": "25'9",
-        "last_reqid": "osd.1.0:60",
-        "user_version": 9,
+        "version": "62'75",
+        "prior_version": "32'12",
+        "last_reqid": "osd.1.0:75",
+        "user_version": 12,
         "size": 7,
-        "mtime": "2018-04-05 14:33:21.189382",
-        "local_mtime": "2018-04-05 14:33:21.190446",
+        "mtime": "2025-04-28T11:21:55.129051-0500",
+        "local_mtime": "2025-04-28T11:21:55.130403-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -3069,65 +3204,68 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x00b35dfd",
+        "omap_digest": "0xe2d46ea4",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "missing"
-      ],
-      "errors": [],
-      "object": {
-        "version": 9,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ3"
-      }
-    },
-    {
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xd7178dfe",
-          "size": 7,
+          "osd": 0,
+          "primary": false,
           "errors": [
             "omap_digest_mismatch_info"
           ],
-          "osd": 0,
-          "primary": false
+          "size": 7,
+          "omap_digest": "0xd7178dfe",
+          "data_digest": "0x2ddbf8f5"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xe2d46ea4",
-          "size": 7,
-          "errors": [],
           "osd": 1,
-          "primary": true
+          "primary": true,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0xe2d46ea4",
+          "data_digest": "0x2ddbf8f5"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ5",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 15
+      },
+      "errors": [
+        "omap_digest_mismatch"
+      ],
+      "union_shard_errors": [
+        "omap_digest_mismatch_info"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ4",
+          "oid": "ROBJ5",
           "key": "",
           "snapid": -2,
-          "hash": 2360875311,
+          "hash": 2334915887,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'62",
-        "prior_version": "27'12",
-        "last_reqid": "osd.1.0:61",
-        "user_version": 12,
+        "version": "62'76",
+        "prior_version": "34'15",
+        "last_reqid": "osd.1.0:76",
+        "user_version": 15,
         "size": 7,
-        "mtime": "2018-04-05 14:33:21.862313",
-        "local_mtime": "2018-04-05 14:33:21.863261",
+        "mtime": "2025-04-28T11:21:56.144860-0500",
+        "local_mtime": "2025-04-28T11:21:56.146359-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -3138,67 +3276,68 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0xe2d46ea4",
+        "omap_digest": "0x1a862a41",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "omap_digest_mismatch_info"
-      ],
-      "errors": [
-        "omap_digest_mismatch"
-      ],
-      "object": {
-        "version": 12,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ4"
-      }
-    },
-    {
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x1a862a41",
-          "size": 7,
-          "errors": [],
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0x1a862a41",
+          "data_digest": "0x2ddbf8f5"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x06cac8f6",
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
             "omap_digest_mismatch_info"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7,
+          "omap_digest": "0x06cac8f6",
+          "data_digest": "0x2ddbf8f5"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ6",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 18
+      },
+      "errors": [
+        "omap_digest_mismatch"
+      ],
+      "union_shard_errors": [
+        "omap_digest_mismatch_info"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ5",
+          "oid": "ROBJ6",
           "key": "",
           "snapid": -2,
-          "hash": 2334915887,
+          "hash": 390610085,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'63",
-        "prior_version": "29'15",
-        "last_reqid": "osd.1.0:62",
-        "user_version": 15,
+        "version": "62'67",
+        "prior_version": "36'18",
+        "last_reqid": "osd.1.0:67",
+        "user_version": 18,
         "size": 7,
-        "mtime": "2018-04-05 14:33:22.589300",
-        "local_mtime": "2018-04-05 14:33:22.590376",
+        "mtime": "2025-04-28T11:21:57.145050-0500",
+        "local_mtime": "2025-04-28T11:21:57.146554-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -3209,67 +3348,68 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x1a862a41",
+        "omap_digest": "0x179c919f",
         "expected_object_size": 0,
         "expected_write_size": 0,
-        "alloc_hint_flags": 0,
-        "manifest": {
-          "type": 0
-        },
-        "watchers": {}
-      },
-      "union_shard_errors": [
-        "omap_digest_mismatch_info"
-      ],
-      "errors": [
-        "omap_digest_mismatch"
-      ],
-      "object": {
-        "version": 15,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ5"
-      }
-    },
-    {
+        "alloc_hint_flags": 0,
+        "manifest": {
+          "type": 0
+        },
+        "watchers": {},
+        "shard_versions": []
+      },
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x689ee887",
-          "size": 7,
+          "osd": 0,
+          "primary": false,
           "errors": [
             "omap_digest_mismatch_info"
           ],
-          "osd": 0,
-          "primary": false
+          "size": 7,
+          "omap_digest": "0x689ee887",
+          "data_digest": "0x2ddbf8f5"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x179c919f",
-          "size": 7,
-          "errors": [],
           "osd": 1,
-          "primary": true
+          "primary": true,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0x179c919f",
+          "data_digest": "0x2ddbf8f5"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ7",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 21
+      },
+      "errors": [
+        "omap_digest_mismatch"
+      ],
+      "union_shard_errors": [
+        "omap_digest_mismatch_info"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ6",
+          "oid": "ROBJ7",
           "key": "",
           "snapid": -2,
-          "hash": 390610085,
+          "hash": 3529485009,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'54",
-        "prior_version": "31'18",
-        "last_reqid": "osd.1.0:53",
-        "user_version": 18,
+        "version": "62'66",
+        "prior_version": "38'21",
+        "last_reqid": "osd.1.0:66",
+        "user_version": 21,
         "size": 7,
-        "mtime": "2018-04-05 14:33:23.289188",
-        "local_mtime": "2018-04-05 14:33:23.290130",
+        "mtime": "2025-04-28T11:21:58.114118-0500",
+        "local_mtime": "2025-04-28T11:21:58.115639-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -3280,67 +3420,67 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0x179c919f",
+        "omap_digest": "0xefced57a",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "omap_digest_mismatch_info"
-      ],
-      "errors": [
-        "omap_digest_mismatch"
-      ],
-      "object": {
-        "version": 18,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ6"
-      }
-    },
-    {
       "shards": [
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xefced57a",
-          "size": 7,
-          "errors": [],
           "osd": 0,
-          "primary": false
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0xefced57a",
+          "data_digest": "0x2ddbf8f5"
         },
         {
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0x6a73cc07",
-          "size": 7,
+          "osd": 1,
+          "primary": true,
           "errors": [
             "omap_digest_mismatch_info"
           ],
-          "osd": 1,
-          "primary": true
+          "size": 7,
+          "omap_digest": "0x6a73cc07",
+          "data_digest": "0x2ddbf8f5"
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ8",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 79
+      },
+      "errors": [
+        "attr_value_mismatch",
+        "attr_name_mismatch"
       ],
+      "union_shard_errors": [],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ7",
+          "oid": "ROBJ8",
           "key": "",
           "snapid": -2,
-          "hash": 3529485009,
+          "hash": 2359695969,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "51'53",
-        "prior_version": "33'21",
-        "last_reqid": "osd.1.0:52",
-        "user_version": 21,
+        "version": "101'79",
+        "prior_version": "101'78",
+        "last_reqid": "client.4653.0:1",
+        "user_version": 79,
         "size": 7,
-        "mtime": "2018-04-05 14:33:23.979658",
-        "local_mtime": "2018-04-05 14:33:23.980731",
+        "mtime": "2025-04-28T11:23:07.031027-0500",
+        "local_mtime": "2025-04-28T11:23:07.032484-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -3351,89 +3491,90 @@ EOF
         "truncate_seq": 0,
         "truncate_size": 0,
         "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0xefced57a",
+        "omap_digest": "0xd6be81dc",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [
-        "omap_digest_mismatch_info"
-      ],
-      "errors": [
-        "omap_digest_mismatch"
-      ],
-      "object": {
-        "version": 21,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ7"
-      }
-    },
-    {
       "shards": [
         {
+          "osd": 0,
+          "primary": false,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0xd6be81dc",
+          "data_digest": "0x2ddbf8f5",
           "attrs": [
             {
-              "Base64": false,
+              "name": "key1-ROBJ8",
               "value": "bad-val",
-              "name": "key1-ROBJ8"
+              "Base64": false
             },
             {
-              "Base64": false,
+              "name": "key2-ROBJ8",
               "value": "val2-ROBJ8",
-              "name": "key2-ROBJ8"
+              "Base64": false
             }
-          ],
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xd6be81dc",
-          "size": 7,
-          "errors": [],
-          "osd": 0,
-          "primary": false
+          ]
         },
         {
+          "osd": 1,
+          "primary": true,
+          "errors": [],
+          "size": 7,
+          "omap_digest": "0xd6be81dc",
+          "data_digest": "0x2ddbf8f5",
           "attrs": [
             {
-              "Base64": false,
+              "name": "key1-ROBJ8",
               "value": "val1-ROBJ8",
-              "name": "key1-ROBJ8"
+              "Base64": false
             },
             {
-              "Base64": false,
+              "name": "key3-ROBJ8",
               "value": "val3-ROBJ8",
-              "name": "key3-ROBJ8"
+              "Base64": false
             }
-          ],
-          "data_digest": "0x2ddbf8f5",
-          "omap_digest": "0xd6be81dc",
-          "size": 7,
-          "errors": [],
-          "osd": 1,
-          "primary": true
+          ]
         }
+      ]
+    },
+    {
+      "object": {
+        "name": "ROBJ9",
+        "nspace": "",
+        "locator": "",
+        "snap": "head",
+        "version": 81
+      },
+      "errors": [
+        "object_info_inconsistency"
+      ],
+      "union_shard_errors": [
+        "obj_size_info_mismatch"
       ],
       "selected_object_info": {
         "oid": {
-          "oid": "ROBJ8",
+          "oid": "ROBJ9",
           "key": "",
           "snapid": -2,
-          "hash": 2359695969,
+          "hash": 537189375,
           "max": 0,
           "pool": 3,
           "namespace": ""
         },
-        "version": "79'66",
-        "prior_version": "79'65",
-        "last_reqid": "client.4554.0:1",
-        "user_version": 79,
-        "size": 7,
-        "mtime": "2018-04-05 14:34:05.598688",
-        "local_mtime": "2018-04-05 14:34:05.599698",
+        "version": "183'81",
+        "prior_version": "62'77",
+        "last_reqid": "client.5112.0:1",
+        "user_version": 81,
+        "size": 3,
+        "mtime": "2025-04-28T11:25:06.229749-0500",
+        "local_mtime": "2025-04-28T11:25:06.231242-0500",
         "lost": 0,
         "flags": [
           "dirty",
@@ -3443,32 +3584,27 @@ EOF
         ],
         "truncate_seq": 0,
         "truncate_size": 0,
-        "data_digest": "0x2ddbf8f5",
-        "omap_digest": "0xd6be81dc",
+        "data_digest": "0x1f26fb26",
+        "omap_digest": "0x2eecc539",
         "expected_object_size": 0,
         "expected_write_size": 0,
         "alloc_hint_flags": 0,
         "manifest": {
           "type": 0
         },
-        "watchers": {}
+        "watchers": {},
+        "shard_versions": []
       },
-      "union_shard_errors": [],
-      "errors": [
-        "attr_value_mismatch",
-        "attr_name_mismatch"
-      ],
-      "object": {
-        "version": 66,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ8"
-      }
-    },
-    {
       "shards": [
         {
+          "osd": 0,
+          "primary": false,
+          "errors": [
+            "obj_size_info_mismatch"
+          ],
+          "size": 3,
+          "omap_digest": "0x2eecc539",
+          "data_digest": "0x1f26fb26",
           "object_info": {
             "oid": {
               "oid": "ROBJ9",
@@ -3479,13 +3615,13 @@ EOF
               "pool": 3,
               "namespace": ""
             },
-            "version": "51'64",
-            "prior_version": "37'27",
-            "last_reqid": "osd.1.0:63",
+            "version": "62'77",
+            "prior_version": "42'27",
+            "last_reqid": "osd.1.0:77",
             "user_version": 27,
             "size": 7,
-            "mtime": "2018-04-05 14:33:25.352485",
-            "local_mtime": "2018-04-05 14:33:25.353746",
+            "mtime": "2025-04-28T11:22:00.142317-0500",
+            "local_mtime": "2025-04-28T11:22:00.143807-0500",
             "lost": 0,
             "flags": [
               "dirty",
@@ -3503,18 +3639,17 @@ EOF
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "data_digest": "0x1f26fb26",
-          "omap_digest": "0x2eecc539",
-          "size": 3,
-          "errors": [
-            "obj_size_info_mismatch"
-          ],
-          "osd": 0,
-          "primary": false
+            "watchers": {},
+            "shard_versions": []
+          }
         },
         {
+          "osd": 1,
+          "primary": true,
+          "errors": [],
+          "size": 3,
+          "omap_digest": "0x2eecc539",
+          "data_digest": "0x1f26fb26",
           "object_info": {
             "oid": {
               "oid": "ROBJ9",
@@ -3525,13 +3660,13 @@ EOF
               "pool": 3,
               "namespace": ""
             },
-            "version": "119'68",
-            "prior_version": "51'64",
-            "last_reqid": "client.4834.0:1",
+            "version": "183'81",
+            "prior_version": "62'77",
+            "last_reqid": "client.5112.0:1",
             "user_version": 81,
             "size": 3,
-            "mtime": "2018-04-05 14:35:01.500659",
-            "local_mtime": "2018-04-05 14:35:01.502117",
+            "mtime": "2025-04-28T11:25:06.229749-0500",
+            "local_mtime": "2025-04-28T11:25:06.231242-0500",
             "lost": 0,
             "flags": [
               "dirty",
@@ -3549,69 +3684,15 @@ EOF
             "manifest": {
               "type": 0
             },
-            "watchers": {}
-          },
-          "data_digest": "0x1f26fb26",
-          "omap_digest": "0x2eecc539",
-          "size": 3,
-          "errors": [],
-          "osd": 1,
-          "primary": true
+            "watchers": {},
+            "shard_versions": []
+          }
         }
-      ],
-      "selected_object_info": {
-        "oid": {
-          "oid": "ROBJ9",
-          "key": "",
-          "snapid": -2,
-          "hash": 537189375,
-          "max": 0,
-          "pool": 3,
-          "namespace": ""
-        },
-        "version": "119'68",
-        "prior_version": "51'64",
-        "last_reqid": "client.4834.0:1",
-        "user_version": 81,
-        "size": 3,
-        "mtime": "2018-04-05 14:35:01.500659",
-        "local_mtime": "2018-04-05 14:35:01.502117",
-        "lost": 0,
-        "flags": [
-          "dirty",
-          "omap",
-          "data_digest",
-          "omap_digest"
-        ],
-        "truncate_seq": 0,
-        "truncate_size": 0,
-        "data_digest": "0x1f26fb26",
-        "omap_digest": "0x2eecc539",
-        "expected_object_size": 0,
-        "expected_write_size": 0,
-        "alloc_hint_flags": 0,
-        "manifest": {
-          "type": 0
-        },
-        "watchers": {}
-      },
-      "union_shard_errors": [
-        "obj_size_info_mismatch"
-      ],
-      "errors": [
-        "object_info_inconsistency"
-      ],
-      "object": {
-        "version": 68,
-        "snap": "head",
-        "locator": "",
-        "nspace": "",
-        "name": "ROBJ9"
-      }
+      ]
     }
-  ],
-  "epoch": 0
+  ]
 }
+
 EOF
 
     jq "$jqfilter" $dir/json | jq '.inconsistents' | python3 -c "$sortkeys" > $dir/csjson