Chris Lu
6b06fe5ec4
s3: commit a versioned PutObject and its latest pointer in one transaction ( #9756 )
...
* s3: commit a versioned PutObject and its latest pointer in one transaction
A versioned PutObject wrote the version file and flipped the .versions
latest pointer in two separate routed transactions. Fold the
RECOMPUTE_LATEST into the version file's PUT so both commit atomically
under the object's per-path lock: the recompute, applied after the PUT in
the same transaction, scans the directory and sees the new version. A
crash can no longer leave the version present with a stale pointer.
putToFiler now takes a putFinalize describing the finalize step — routed
mutations folded into the PUT, or an afterCreate run under the object
write lock off the ring. Suspended-versioning keeps its afterCreate-only
form; multipart, copy, and delete-marker finalizes are unchanged.
* s3: trim verbose finalize comments
2026-05-31 00:13:36 -07:00
..
2025-11-04 13:02:22 -08:00
2026-05-06 19:14:36 -07:00
2026-03-18 13:20:55 -07:00
2026-04-03 16:04:27 -07:00
2026-01-03 22:45:48 -08:00
2026-05-26 01:05:07 -07:00
2026-05-26 01:05:07 -07:00
2026-05-12 13:00:52 -07:00
2026-05-24 11:41:08 -07:00
2026-05-24 11:41:08 -07:00
2026-05-23 14:22:42 -07:00
2026-03-30 23:29:56 -07:00
2026-03-30 23:29:56 -07:00
2026-01-07 13:06:08 -08:00
2026-04-21 23:00:11 -07:00
2026-04-21 23:00:11 -07:00
2026-05-31 00:13:36 -07:00
2026-05-25 13:14:05 -07:00
2026-05-25 13:14:05 -07:00
2026-04-22 17:56:15 -07:00
2026-05-23 14:22:42 -07:00
2026-05-23 21:40:41 -07:00
2026-04-21 11:25:09 -07:00
2026-04-21 11:25:09 -07:00
2026-04-21 11:25:09 -07:00
2026-04-21 11:25:09 -07:00
2026-05-28 23:29:59 -07:00
2026-05-20 11:26:37 -07:00
2026-03-29 14:18:24 -07:00
2026-01-07 13:06:08 -08:00
2025-11-25 19:35:19 -08:00
2026-05-24 14:21:06 -07:00
2026-05-12 10:10:48 -07:00
2026-03-23 18:35:15 -07:00
2026-05-23 21:40:41 -07:00
2026-05-15 13:15:20 -07:00
2026-05-15 13:15:20 -07:00
2026-03-11 23:32:09 -07:00
2026-04-03 16:04:27 -07:00
2026-01-07 13:06:08 -08:00
2026-04-27 01:58:33 -07:00
2026-05-23 21:40:41 -07:00
2026-05-23 21:40:41 -07:00
2025-08-21 08:28:07 -07:00
2026-04-16 15:51:13 -07:00
2026-04-16 15:51:13 -07:00
2026-05-12 10:10:48 -07:00
2026-02-20 18:42:00 -08:00
2026-04-16 15:51:13 -07:00
2026-05-23 21:40:41 -07:00
2026-05-29 20:45:03 -07:00
2026-05-21 10:19:59 -07:00
2026-05-21 10:19:59 -07:00
2026-04-11 11:30:47 -07:00
2026-01-07 13:06:08 -08:00
2022-07-29 00:17:28 -07:00
2025-12-19 00:15:39 -08:00
2026-04-04 11:50:43 -07:00
2026-03-30 23:29:56 -07:00
2026-05-26 16:26:21 -07:00
2026-05-24 00:40:43 -07:00
2026-02-22 23:45:48 -08:00
2025-11-26 08:01:19 -08:00
2026-04-11 11:30:47 -07:00
2026-05-29 20:45:03 -07:00
2026-03-18 23:28:07 -07:00
2026-02-09 07:46:34 -08:00
2026-03-18 23:28:07 -07:00
2026-04-15 12:29:31 -07:00
2026-04-10 17:31:14 -07:00
2026-05-13 19:29:24 -07:00
2026-05-11 13:50:48 -07:00
2026-05-11 13:50:48 -07:00
2026-05-17 11:31:37 -07:00
2022-07-29 00:17:28 -07:00
2026-05-18 15:19:51 -07:00
2026-05-18 15:19:51 -07:00
2026-05-19 14:58:56 -07:00
2026-05-19 14:58:56 -07:00
2022-07-29 00:17:28 -07:00
2026-05-11 13:50:19 -07:00
2026-04-22 11:22:21 -07:00
2026-05-12 10:11:20 -07:00
2026-05-12 10:11:20 -07:00
2026-05-04 21:14:55 -07:00
2026-02-06 10:58:43 -08:00
2026-02-02 13:21:02 -08:00
2022-10-14 00:18:09 -07:00
2026-02-02 13:21:02 -08:00
2026-05-04 21:14:55 -07:00
2026-04-03 16:04:27 -07:00
2026-04-27 12:22:42 -07:00
2025-11-26 08:01:19 -08:00
2026-04-24 11:45:21 -07:00
2025-12-16 13:42:18 -08:00
2026-05-29 20:45:03 -07:00
2026-04-16 15:51:13 -07:00
2026-01-07 13:06:08 -08:00