孙超 and GitHub
c80664ec21
s3: propagate storage rule fsync to volume server uploads ( #10906 )
...
The storage rule's fsync decision was computed by the filer
(detectStorageOption -> rule.Fsync) and applied on the filer's own HTTP
write path, but was never carried onto the chunk uploads S3 issues: the
AssignVolumeResponse had no fsync field, so the s3api client could not
learn the decision, and the chunked upload URL was hardcoded without it.
Every S3 write to a path with fsync configured went to the volume server
as a non-fsync write.
Carry the decision through the assign response:
- filer.proto: AssignVolumeResponse gains bool fsync, filled from the
storage option the assign resolved.
- operation.AssignResult gains Fsync, so uploadChunk can append
?fsync=true to the volume server upload URL (single and replica
fan-out paths).
- The S3 PUT/UploadPart assignFunc, the S3 copy path, the admin file
browser upload, and the Iceberg worker assign functions all forward
the response field.
Adds TestUploadReaderInChunksAppendsFsyncWhenAssigned.
2026-08-23 22:11:08 -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-06-24 20:05:43 -07:00
2026-01-03 22:45:48 -08:00
2026-08-23 11:13:36 -07:00
2026-08-23 11:13:36 -07:00
2026-07-27 14:28:29 -07:00
2026-08-04 11:38:38 -07:00
2026-08-04 11:38:38 -07:00
2026-07-21 00:19:15 -07:00
2026-08-04 11:38:38 -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-08-04 11:38:38 -07:00
2026-08-05 23:55:20 -07:00
2026-08-04 11:38:38 -07:00
2026-05-25 13:14:05 -07:00
2026-08-04 11:38:38 -07:00
2026-08-12 23:00:10 -07:00
2026-08-04 11:38:38 -07:00
2026-07-23 17:44:02 -07: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-08-19 18:38:46 -07:00
2026-06-10 13:08:34 -07:00
2026-06-10 13:08:34 -07:00
2026-08-19 18:38:46 -07:00
2026-08-21 15:22:05 -07:00
2026-06-14 21:44:10 -07:00
2026-03-29 14:18:24 -07:00
2026-08-04 11:38:38 -07:00
2026-06-03 10:28:42 -07:00
2026-08-23 22:11:08 -07:00
2026-06-11 21:56:16 -07:00
2026-08-02 00:06:22 -07:00
2026-03-23 18:35:15 -07:00
2026-06-24 19:36:42 -07:00
2026-05-15 13:15:20 -07:00
2026-05-15 13:15:20 -07:00
2026-07-30 12:23:12 -07:00
2026-07-25 19:54:41 -07:00
2026-01-07 13:06:08 -08:00
2026-08-12 23:00:10 -07:00
2026-05-23 21:40:41 -07:00
2026-07-31 00:34:22 -07:00
2025-08-21 08:28:07 -07:00
2026-04-16 15:51:13 -07:00
2026-07-25 11:20:41 -07:00
2026-07-11 22:45:28 -07:00
2026-02-20 18:42:00 -08:00
2026-08-10 12:32:45 -07:00
2026-08-22 00:30:14 -07:00
2026-08-07 21:56:15 -07:00
2026-08-10 12:32:45 -07:00
2026-08-22 00:30:14 -07:00
2026-08-07 21:56:15 -07:00
2026-08-21 15:22:05 -07:00
2026-08-13 13:25:52 -07:00
2026-05-21 10:19:59 -07:00
2026-07-17 12:30:42 -07:00
2026-07-02 15:13:46 -07:00
2026-07-16 13:55:38 -07:00
2026-08-09 22:20:34 -07:00
2026-01-07 13:06:08 -08:00
2022-07-29 00:17:28 -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-07-27 14:28:29 -07:00
2026-08-23 11:36:00 -07:00
2026-08-07 19:44:39 -07:00
2026-08-10 09:41:00 -07:00
2026-08-23 11:36:00 -07:00
2026-06-01 20:33:37 -07:00
2025-11-26 08:01:19 -08:00
2026-07-16 13:55:38 -07:00
2026-08-21 15:22:22 -07: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-08-10 16:31:26 -07:00
2026-05-11 13:50:48 -07:00
2026-07-15 23:24:04 -07:00
2026-06-26 14:22:57 -07:00
2026-08-07 23:36:28 -07:00
2022-07-29 00:17:28 -07:00
2026-08-08 09:25:57 -07:00
2026-06-13 20:05:33 -07:00
2026-05-31 23:42:33 -07:00
2026-08-08 09:25:57 -07:00
2026-06-14 01:54:04 -07:00
2026-07-10 22:06:36 -07:00
2026-06-25 10:38:14 -07:00
2026-06-25 10:38:14 -07:00
2026-07-10 22:06:36 -07:00
2026-08-15 13:28:49 -07:00
2026-07-15 23:24:04 -07:00
2026-05-11 13:50:19 -07:00
2026-04-22 11:22:21 -07:00
2026-08-17 16:40:56 -07:00
2026-08-17 16:40:56 -07:00
2026-08-10 16:31:26 -07:00
2026-07-25 23:53:29 -07:00
2026-07-25 23:53:29 -07:00
2026-07-25 23:53:29 -07:00
2026-07-25 23:53:29 -07:00
2026-07-25 23:53:29 -07:00
2026-07-25 23:53:29 -07:00
2026-05-04 21:14:55 -07:00
2026-04-03 16:04:27 -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-07-15 23:24:04 -07:00
2026-06-04 22:26:08 -07:00
2026-07-15 23:24:04 -07:00
2026-06-04 22:26:08 -07:00
2026-07-30 11:58:14 -07:00
2026-07-30 11:58:14 -07:00
2026-08-17 20:19:54 -07:00
2026-06-11 21:56:16 -07:00
2026-06-11 21:56:16 -07:00