Feng Ruohang
62cf066ff5
fix(replication): recover physical creation time and align policy status
...
An independent adversarial review of the bucket metadata convergence
work found three defects it had introduced.
GetBucketInfo overwrote the physical creation probe with cached
metadata, which a bucket that never held a configuration legitimately
lacks. The new creation-time requirement then failed every policy, tag,
SSE, quota, versioning and Object Lock write on such a bucket, with no
operator recovery path, and initial synchronization skipped it silently.
Return the physical result unchanged when metadata is not requested, as
ListBuckets already does, recover the time during initial
synchronization, and pass it to MakeBucketHook so peers adopt the same
bucket generation.
Replication status compared parsed policies statement by statement while
heal compares the canonical key. An upgraded peer that stored an
equivalent statement order was therefore reported as mismatched forever,
and heal never had anything to write. Compare the key heal compares;
per-site presence counting is unchanged.
Heal diagnostics shared one log key across four conditions, so a real
peer RPC failure could be deduplicated away by an earlier message, and
they were logged at error level for the normal transient of a peer that
does not have the bucket yet. Give each reason its own key at warning
level, report only a field state that exists and still cannot be
ordered, and diagnose nothing when no site holds a state to propagate.
The recovery test now runs against the real ObjectLayer; the stub it
replaced returned the expected time and hid the defect. The policy
status test uses a statement order the canonical encoder reorders, and
adoption coverage is extended past a real field time.
Signed-off-by: Feng Ruohang <rh@vonng.com >
2026-09-12 14:01:35 +08:00
..
2026-09-03 20:54:40 +08:00
2026-09-05 16:21:12 +08:00
2026-09-12 13:50:55 +08:00
2026-09-03 20:54:40 +08:00
2026-08-06 08:46:58 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-10 15:16:21 +08:00
2026-09-03 20:54:40 +08:00
2026-09-10 15:16:21 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-27 09:05:49 +08:00
2026-09-05 14:50:00 +08:00
2026-08-06 08:46:58 +08:00
2026-09-05 15:33:23 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-04 23:02:16 +08:00
2026-09-03 20:54:40 +08:00
2026-09-11 16:24:42 +08:00
2026-08-04 23:02:16 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-04 23:02:16 +08:00
2026-09-03 20:54:40 +08:00
2026-08-29 09:10:58 +08:00
2026-08-29 01:33:24 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 00:45:02 +08:00
2026-09-02 14:06:56 +08:00
2026-09-03 20:54:40 +08:00
2026-09-02 07:08:02 +08:00
2026-09-03 20:54:40 +08:00
2026-08-15 13:48:22 +03:30
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-25 19:24:44 +05:00
2026-08-25 19:24:44 +05:00
2026-09-02 07:20:53 +08:00
2026-09-08 16:13:54 +08:00
2026-09-08 16:13:54 +08:00
2026-09-09 19:35:13 +08:00
2026-09-12 14:01:35 +08:00
2026-09-12 14:01:35 +08:00
2026-09-12 13:50:55 +08:00
2026-09-03 20:54:40 +08:00
2026-09-11 16:24:42 +08:00
2026-09-11 16:24:42 +08:00
2026-09-03 20:54:40 +08:00
2026-09-12 13:50:55 +08:00
2026-09-11 16:24:42 +08:00
2026-09-05 21:23:46 +03:30
2026-09-05 21:23:46 +03:30
2026-09-09 14:37:02 +08:00
2026-09-03 20:54:40 +08:00
2026-09-09 14:37:02 +08:00
2026-09-09 14:37:02 +08:00
2026-09-03 20:54:40 +08:00
2026-09-09 14:37:02 +08:00
2026-09-12 13:50:55 +08:00
2026-08-06 12:43:58 +08:00
2026-09-07 13:36:24 +08:00
2026-09-12 13:50:55 +08:00
2026-09-05 15:51:24 +08:00
2026-09-08 13:04:25 +08:00
2026-08-06 08:46:58 +08:00
2026-08-06 08:46:58 +08:00
2026-08-24 02:22:20 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-08 13:04:25 +08:00
2026-08-15 13:48:22 +03:30
2026-09-08 13:04:25 +08:00
2026-08-15 13:48:22 +03:30
2026-08-04 23:02:16 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-02 20:04:57 +08:00
2026-09-02 14:06:56 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-11 20:05:56 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-29 19:28:06 +08:00
2026-09-05 15:33:23 +08:00
2026-09-10 09:57:01 +08:00
2026-09-11 20:05:56 +08:00
2026-08-04 23:00:31 +08:00
2026-09-06 23:05:27 +08:00
2026-09-11 20:05:56 +08:00
2026-09-11 20:23:40 +08:00
2026-09-11 20:23:40 +08:00
2026-09-11 20:05:56 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-12 14:01:35 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-06 08:46:58 +08:00
2026-08-04 23:02:16 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-06 08:46:58 +08:00
2026-09-03 20:54:40 +08:00
2026-09-11 20:05:56 +08:00
2026-09-03 20:54:40 +08:00
2026-09-09 18:50:12 +08:00
2026-09-02 02:31:20 +08:00
2026-09-03 20:54:40 +08:00
2026-08-04 23:02:16 +08:00
2026-08-06 17:27:22 +08:00
2026-08-06 19:09:26 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-08 15:28:33 +08:00
2026-08-15 13:48:22 +03:30
2026-09-08 15:08:34 +08:00
2026-08-15 13:48:22 +03:30
2026-08-15 13:48:22 +03:30
2026-08-15 13:48:22 +03:30
2026-08-15 13:48:22 +03:30
2026-08-15 13:48:22 +03:30
2026-08-06 08:46:58 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-15 13:48:22 +03:30
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-26 19:02:25 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-24 01:08:46 +08:00
2026-09-03 20:54:40 +08:00
2026-09-09 14:37:02 +08:00
2026-09-05 21:23:46 +03:30
2026-09-03 20:54:40 +08:00
2026-08-15 13:48:22 +03:30
2026-09-09 14:37:02 +08:00
2026-09-09 14:37:02 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-26 19:02:25 +08:00
2026-08-27 09:05:49 +08:00
2026-09-11 20:23:40 +08:00
2026-09-05 16:17:39 +08:00
2026-09-09 17:51:32 +08:00
2026-09-03 20:54:40 +08:00
2026-09-06 09:26:12 +08:00
2026-09-06 09:51:09 +08:00
2026-09-05 16:17:39 +08:00
2026-08-29 18:18:01 +08:00
2026-09-03 20:54:40 +08:00
2026-08-29 17:23:26 +08:00
2026-09-10 09:57:01 +08:00
2026-09-12 01:44:22 +08:00
2026-09-11 16:24:42 +08:00
2026-09-12 01:44:22 +08:00
2026-09-05 15:51:24 +08:00
2026-08-29 18:15:51 +08:00
2026-09-12 01:44:22 +08:00
2026-09-05 14:50:00 +08:00
2026-09-10 09:57:01 +08:00
2026-09-06 22:48:29 +08:00
2026-09-12 01:44:22 +08:00
2026-09-06 23:05:27 +08:00
2026-09-06 23:05:27 +08:00
2026-09-12 01:44:22 +08:00
2026-09-03 20:54:40 +08:00
2026-09-11 16:24:42 +08:00
2026-09-12 01:44:22 +08:00
2026-08-04 23:00:30 +08:00
2026-09-12 01:44:22 +08:00
2026-09-10 09:57:01 +08:00
2026-08-24 01:08:46 +08:00
2026-08-04 23:02:16 +08:00
2026-09-03 20:54:40 +08:00
2026-09-08 16:13:54 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-01 20:50:08 +08:00
2026-08-06 08:46:58 +08:00
2026-09-11 16:24:42 +08:00
2026-08-04 23:02:16 +08:00
2026-08-04 23:02:16 +08:00
2026-09-09 14:44:02 +08:00
2026-09-09 14:44:02 +08:00
2026-09-09 14:37:02 +08:00
2026-09-07 00:11:04 +08:00
2026-09-06 09:25:28 +08:00
2026-09-05 15:07:22 +08:00
2026-09-05 15:07:22 +08:00
2026-09-03 20:54:40 +08:00
2026-08-04 23:02:16 +08:00
2026-09-10 15:16:21 +08:00
2026-09-03 20:54:40 +08:00
2026-09-08 13:04:25 +08:00
2026-09-03 20:54:40 +08:00
2026-08-06 08:46:58 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-11 16:24:42 +08:00
2026-09-11 16:24:42 +08:00
2026-09-11 16:24:42 +08:00
2026-09-11 16:24:42 +08:00
2026-09-11 16:24:42 +08:00
2026-08-27 12:46:47 +05:00
2026-09-02 18:49:16 +08:00
2026-09-12 14:01:35 +08:00
2026-09-12 14:01:35 +08:00
2026-09-12 13:50:55 +08:00
2026-09-12 14:01:35 +08:00
2026-09-02 18:49:16 +08:00
2026-09-02 14:06:56 +08:00
2026-09-09 14:37:02 +08:00
2026-09-12 14:01:35 +08:00
2026-08-06 09:28:06 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-04 23:00:30 +08:00
2026-08-04 23:00:30 +08:00
2026-09-03 20:54:40 +08:00
2026-08-04 23:00:30 +08:00
2026-08-04 23:02:16 +08:00
2026-08-06 08:46:58 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-08-04 23:02:16 +08:00
2026-09-03 20:54:40 +08:00
2026-09-03 20:54:40 +08:00
2026-09-09 18:50:12 +08:00
2026-08-06 08:46:58 +08:00
2026-08-06 08:46:58 +08:00
2026-08-06 08:46:58 +08:00
2026-09-03 20:54:40 +08:00
2026-09-09 18:50:12 +08:00
2026-09-05 21:23:46 +03:30
2026-08-06 08:46:58 +08:00
2026-08-04 23:00:31 +08:00
2026-08-04 23:00:31 +08:00
2026-08-04 23:02:16 +08:00
2026-08-24 01:08:46 +08:00
2026-08-24 01:08:46 +08:00
2026-08-15 13:48:22 +03:30