Peter Dodd
5f1a742726
fix: return NoSuchKey and drop stale entries when a remote-mounted object is gone from the remote ( #11680 )
...
A remote-only entry whose object was deleted from the remote storage
outside the filer answered GET with 500 and stayed in the filer. The
remote's not-found was lost on the way: the backends' ReadFile returned
it as an untyped error, so FetchAndWriteNeedle failed with codes.Unknown
and nothing downstream could tell it from any other failure.
- remote_storage: GCS, S3 (NoSuchKey) and Azure (BlobNotFound) reads
return ErrRemoteObjectNotFound. GCS reports a missing bucket the same
way as a missing object, so it confirms the bucket with a listing.
- volume server and filer: the not-found crosses gRPC as codes.NotFound
carrying the sentinel's text, and the filer's cache RPC returns
codes.NotFound, which the S3 gateway already maps to NoSuchKey.
- s3api: the origin fallback answers NoSuchKey on a confirmed not-found.
- filer: a confirmed not-found removes the stale entry, so the lazy
remote-metadata cache converges on the remote. Only remote-only files
outside .versions and without an active object lock are removed, only
if unchanged since the fetch (checked on the object's write owner,
under the lock S3 object writes take), and with a metadata-only
delete: the filer skips its inline remote delete, and the delete
events' entries carry a marker that makes filer.remote.sync and
filer.remote.gateway skip their remote delete, while filer.sync still
replicates it. The replicated DeleteEntryRequest carries
keep_remote_object, so the destination's delete events are marked too.
The store drops the marker from every write, so clients cannot plant
it.
2026-10-10 11:00:04 +08: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-06-24 20:05:43 -07:00
2026-01-03 22:45:48 -08:00
2026-09-26 16:00:22 +08:00
2026-09-26 16:00:22 +08:00
2026-08-27 22:27:45 -07:00
2026-09-03 14:52:05 -07:00
2026-09-03 14:52:05 -07:00
2026-08-04 11:38:38 -07:00
2026-09-29 11:34:07 +08:00
2026-09-29 11:34:07 +08:00
2026-08-04 11:38:38 -07:00
2026-09-26 19:42:23 +08:00
2026-03-30 23:29:56 -07:00
2026-09-26 19:42:23 +08: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-09-26 19:42:23 +08:00
2026-08-05 23:55:20 -07:00
2026-08-04 11:38:38 -07:00
2026-09-26 19:42:23 +08:00
2026-08-04 11:38:38 -07:00
2026-10-10 11:00:04 +08:00
2026-10-10 11:00:04 +08:00
2026-09-04 16:39:24 -07:00
2026-09-02 17:43:46 -07:00
2026-09-02 19:40:53 -07:00
2026-09-26 19:42:23 +08:00
2026-10-05 18:22:16 +08:00
2026-07-27 14:28:29 -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-09-09 20:16:50 -07:00
2026-10-10 10:59:00 +08:00
2026-10-10 10:59:00 +08:00
2026-10-10 10:59:00 +08:00
2026-10-10 10:59:00 +08:00
2026-06-14 21:44:10 -07:00
2026-10-01 22:21:03 +08:00
2026-08-04 11:38:38 -07:00
2026-06-03 10:28:42 -07:00
2026-10-10 11:00:04 +08:00
2026-09-04 16:39:36 -07:00
2026-10-10 10:59:00 +08:00
2026-03-23 18:35:15 -07:00
2026-09-02 17:43:46 -07:00
2026-10-03 08:36:19 +08:00
2026-10-03 08:36:19 +08:00
2026-05-15 13:15:20 -07:00
2026-10-03 08:36:19 +08:00
2026-09-04 16:39:36 -07:00
2026-09-04 16:39:36 -07:00
2026-01-07 13:06:08 -08:00
2026-09-04 23:50:11 -07:00
2026-05-23 21:40:41 -07:00
2026-10-05 09:12:20 +08:00
2026-10-05 09:12:20 +08:00
2026-09-02 17:43:46 -07:00
2026-10-05 09:12:20 +08:00
2026-10-01 22:21:03 +08:00
2026-09-17 23:50:16 -07:00
2026-10-06 09:53:40 +08:00
2026-09-29 22:05:42 +08:00
2026-02-20 18:42:00 -08:00
2026-09-04 00:02:33 -07:00
2026-10-10 10:59:00 +08:00
2026-08-26 08:49:25 -07:00
2026-08-10 12:32:45 -07:00
2026-09-04 16:39:24 -07:00
2026-08-07 21:56:15 -07:00
2026-08-10 12:32:45 -07:00
2026-08-25 09:24:51 -07:00
2026-08-26 08:49:25 -07:00
2026-09-04 16:39:24 -07:00
2026-10-10 10:59:00 +08:00
2026-08-21 15:22:05 -07:00
2026-08-13 13:25:52 -07:00
2026-10-08 22:03:31 +08:00
2026-09-09 20:16:50 -07:00
2026-05-21 10:19:59 -07:00
2026-07-17 12:30:42 -07:00
2026-09-13 11:56:32 -07:00
2026-09-13 11:56:32 -07:00
2026-09-02 16:12:46 -07:00
2026-09-07 09:23:56 -07:00
2026-01-07 13:06:08 -08:00
2026-08-28 16:32:30 -07:00
2026-08-28 16:32:30 -07:00
2026-08-07 23:36:28 -07:00
2026-08-08 09:14:57 -07:00
2025-12-19 00:15:39 -08:00
2026-08-21 15:22:22 -07:00
2026-08-26 00:12:56 -07:00
2026-10-06 09:53:40 +08:00
2026-09-02 16:12:46 -07:00
2026-09-03 14:52:05 -07:00
2026-09-27 07:05:22 +08:00
2026-10-06 09:53:40 +08:00
2026-09-27 07:05:22 +08:00
2026-09-07 09:23:56 -07:00
2025-11-26 08:01:19 -08:00
2026-09-07 09:23:56 -07:00
2026-09-28 18:40:11 +08:00
2026-09-28 18:40:11 +08:00
2026-03-18 23:28:07 -07:00
2026-08-21 15:22:22 -07:00
2026-08-23 11:10:20 -07:00
2026-08-21 15:22:22 -07:00
2026-08-23 11:10:20 -07:00
2026-07-25 23:53:29 -07:00
2026-09-20 13:30:02 -07:00
2026-09-26 15:53:39 +08:00
2026-09-01 10:37:25 -07:00
2026-05-11 13:50:48 -07:00
2026-09-01 10:37:25 -07:00
2026-06-26 14:22:57 -07:00
2026-08-07 23:36:28 -07:00
2026-09-09 02:18:18 -07:00
2026-09-24 06:57:44 +08:00
2026-10-03 09:08:19 +08:00
2026-09-18 12:55:47 -07:00
2026-05-31 23:42:33 -07:00
2026-10-03 09:08:19 +08:00
2026-09-28 21:55:25 +08:00
2026-07-10 22:06:36 -07:00
2026-08-28 20:46:59 -07:00
2026-10-02 22:46:36 +08:00
2026-10-02 22:46:36 +08:00
2026-10-02 22:46:36 +08:00
2026-07-10 22:06:36 -07:00
2026-10-03 14:55:15 +08:00
2026-09-03 18:39:45 -07:00
2026-07-15 23:24:04 -07:00
2026-09-24 06:57:44 +08:00
2026-04-22 11:22:21 -07:00
2026-10-03 09:08:19 +08:00
2026-09-13 14:43:55 -07:00
2026-10-10 11:00:04 +08:00
2026-09-12 14:19:18 -07:00
2026-09-08 19:12:30 -07:00
2026-09-12 14:19:18 -07:00
2026-07-25 23:53:29 -07:00
2026-09-24 06:57:44 +08:00
2026-09-14 22:09:08 -07:00
2026-09-14 22:09:08 -07:00
2026-09-14 22:09:08 -07:00
2026-09-14 22:09:08 -07:00
2026-10-03 12:32:42 +08:00
2026-09-08 21:42:56 -07:00
2026-08-23 08:20:25 -07:00
2026-08-23 11:13:36 -07:00
2026-04-27 12:22:42 -07:00
2026-08-09 12:43:31 -07:00
2026-09-01 10:37:25 -07:00
2026-06-04 22:26:08 -07:00
2026-07-15 23:24:04 -07:00
2026-10-03 14:55:15 +08:00
2026-07-30 11:58:14 -07:00
2026-07-30 11:58:14 -07:00
2026-09-13 18:34:09 -07:00
2026-09-28 22:37:04 +08:00
2026-06-11 21:56:16 -07:00
2026-08-27 16:21:14 -07:00