Commit Graph

1635 Commits

Author SHA1 Message Date
Joonas Koivunen 3295d6245a fix: provide better context for the other test 2023-08-30 14:19:54 +03:00
Joonas Koivunen a4bfdd8013 test: actually duplicate L1 layer in test 2023-08-30 14:19:54 +03:00
Joonas Koivunen cd869e5737 handle duplicate l1s almost safely
there is still the possibility of the old layer not really being
readable or returning bogus values if the internal representation has
shifted. cannot do anything for that... unless we rename them away, or
something like that.
2023-08-30 14:19:54 +03:00
Joonas Koivunen 544136f13f fix: require ResidentLayer to keep resident
it only matters when calling this, it can get "evicted" after, even
though, it's file will probably not be readable.
2023-08-30 10:31:56 +03:00
Joonas Koivunen 1cbb7fccaa allow keeping a duplicate resident
except that the residentness is not enforced right now.
2023-08-30 10:02:08 +03:00
Joonas Koivunen 9ab35cc5d2 fix: upload compacted layers 2023-08-30 09:45:37 +03:00
Joonas Koivunen bb03c74217 refactor: rename for_written_tempfile -> finish_creating 2023-08-29 15:57:34 +03:00
Joonas Koivunen 774f34d778 refactor: move all metrics updates to layer
this fixes some missing increments for num_persistent_files_created,
persistent_bytes_written and removes double entries for residence
events.
2023-08-29 15:45:03 +03:00
Joonas Koivunen f5a171076b doc: comment about chance of both evictions selecting same layer 2023-08-29 15:20:25 +03:00
Joonas Koivunen 881fdbc04c doc: fix broken link 2023-08-29 14:34:06 +03:00
Joonas Koivunen 8a27e58894 doc: fix outdated commit 2023-08-29 14:19:53 +03:00
Joonas Koivunen b4c81f7dff refactor: rename LayerInner::on_drop to on_downloaded_layer_drop 2023-08-29 14:13:09 +03:00
Joonas Koivunen 9151b71b19 doc: fix link 2023-08-29 13:25:36 +03:00
Joonas Koivunen 6e47438f43 fixup residentlayer comment 2023-08-29 12:16:45 +03:00
Joonas Koivunen 579e85e92d doc: assert &Arc<LayerInner> and DownloadedLayer::owner 2023-08-29 12:16:27 +03:00
Joonas Koivunen 53d2b48ea2 doc: adjust more LayerInner::on_drop 2023-08-29 12:15:46 +03:00
Joonas Koivunen ac6604b6ed doc: adjust while in queue 2023-08-29 12:06:47 +03:00
Joonas Koivunen 91b64427ed doc: remove comment about backoff 2023-08-29 12:04:34 +03:00
Joonas Koivunen ffe0f90083 doc: when => while 2023-08-29 11:59:24 +03:00
Joonas Koivunen 59b5a55dbf doc: create guard => new download has been started 2023-08-29 11:57:03 +03:00
Joonas Koivunen b9290c7005 doc: simplify comment 2023-08-29 11:55:53 +03:00
Joonas Koivunen 302a58e8ea image/deltalayer: shuffle comments around 2023-08-29 11:55:08 +03:00
Joonas Koivunen def51361ae doc: drop comment in favor of drop_eviction_guard 2023-08-29 11:14:12 +03:00
Joonas Koivunen d67d4b3eee doc: add validation 2023-08-29 11:11:27 +03:00
Joonas Koivunen cd1b548a8f doc: explain DownloadedLayer::get owner param 2023-08-29 11:07:14 +03:00
Joonas Koivunen 282372aa5a reorder: 1. DownloadedLayer, 2. ResidentLayer 2023-08-29 11:06:51 +03:00
Joonas Koivunen 1f0cd3b50e doc: note running without remote storage again 2023-08-29 11:06:29 +03:00
Joonas Koivunen 4973419a38 doc: cancellation safety with evict_and_wait 2023-08-29 11:06:12 +03:00
Joonas Koivunen 44ef584842 doc: residentlayer vs. downloadedlayer and eviction 2023-08-29 10:51:08 +03:00
Joonas Koivunen 55c42da91b info: stop using stat
we no longer need to use it because in the latter versions we initialize
to correct on-filesystem state with Layer::for_{resident,evicted}.
2023-08-29 10:49:41 +03:00
Joonas Koivunen 5c343af807 doc: check_expected_download 2023-08-29 10:49:25 +03:00
Joonas Koivunen 87ecb2e6ca reorder: get and get_or_apply_evictedness 2023-08-29 10:49:13 +03:00
Joonas Koivunen c659d0f218 fix: subscribe before evicting 2023-08-29 10:48:55 +03:00
Joonas Koivunen 9f7688b1d2 doc: another pass on LayerInner 2023-08-29 10:48:36 +03:00
Joonas Koivunen 3edff352b5 doc: explain what the consecutive failures are for 2023-08-29 10:08:53 +03:00
Joonas Koivunen 08680f6591 doc: typo 2023-08-28 16:55:28 +03:00
Joonas Koivunen 55105ad1c3 refactor: Result<(), NeedsDownload> 2023-08-28 16:53:32 +03:00
Joonas Koivunen df328758f0 refactor: simplify schedule upload and tests 2023-08-28 16:33:01 +03:00
Joonas Koivunen d5ac61d566 doc: add cancellation safe comment 2023-08-28 14:41:43 +03:00
Joonas Koivunen 355ea43ac7 eviction_task: remove confusing drop(candidates) 2023-08-28 14:36:34 +03:00
Joonas Koivunen 6f0ab326b4 doc: inmemlayer: cleanup comments 2023-08-28 14:24:38 +03:00
Joonas Koivunen c06a4fb511 doc: delete fixme about gentlemans agreements and strings 2023-08-28 14:19:11 +03:00
Joonas Koivunen 9a714ac6b8 doc: link to LayerMap::search 2023-08-28 14:10:49 +03:00
Joonas Koivunen 8c21edc9c5 doc: cleanup, add missing "the" 2023-08-28 14:10:49 +03:00
Joonas Koivunen 6ff324a12d doc: link to inmemorylayer 2023-08-28 14:10:49 +03:00
Joonas Koivunen 090f9a5a80 doc: remove obsolete comment 2023-08-28 14:01:56 +03:00
Joonas Koivunen 53eacacb6b botched rebase: lost impl AsRe<DeltaLayerInner> 2023-08-28 13:47:03 +03:00
Joonas Koivunen d40b9a515a refactor: split guard_against_eviction into three
- download
- keep_resident
- download_and_keep_resident

No need to bool enum.
2023-08-28 13:35:53 +03:00
Joonas Koivunen 7c2f687bd6 rename: garbage_collect => &_on_drop 2023-08-28 13:35:53 +03:00
Joonas Koivunen effc151244 fix: allow dropping from UploadQueue by spawn_blocking 2023-08-28 13:35:53 +03:00