[pbs-devel] [PATCH v3 proxmox-backup 54/58] client: pxar: add flow chart for metadata change detection
Christian Ebner
c.ebner at proxmox.com
Wed Apr 10 12:04:29 CEST 2024
On 4/5/24 12:16, Fabian Grünbichler wrote:
> Quoting Christian Ebner (2024-03-28 13:37:03)
>> A high level flow chart describing the logic used for the metadata
>> based file change detection mode.
>>
>> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
>> ---
>> changes since version 2:
>> - not present in previous version
>>
>> ...ow-chart-metadata-based-file-change-detection.svg | 1 +
>> ...ow-chart-metadata-based-file-change-detection.txt | 12 ++++++++++++
>> 2 files changed, 13 insertions(+)
>> create mode 100644 pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.svg
>> create mode 100644 pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.txt
>>
>> diff --git a/pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.svg b/pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.svg
>> new file mode 100644
>> index 000000000..5e6df4815
>> --- /dev/null
>> +++ b/pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.svg
>> @@ -0,0 +1 @@
>
> [snip]
>
> something here got broken (I guess mail related somewhere along the way?). it
> does work if the contents are manually merged backed into a single line before
> applying the patch though. in any case, it probably would be nice to have this
> autogenerated and moved to some part of the docs :)
>
>> diff --git a/pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.txt b/pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.txt
>> new file mode 100644
>> index 000000000..5eace70be
>> --- /dev/null
>> +++ b/pbs-client/src/pxar/flow-chart-metadata-based-file-change-detection.txt
>> @@ -0,0 +1,12 @@
>> +flowchart TD
>> + A[Archiver] -->|lookup metadata| B[Accessor]
>> + B -->|is reusable entry| C[Lookahead Cache]
>> + C -->|lookup reusable chunks| D[Dynamic Index]
>> + D -->|insert and deduplicate dynamic entries| E[Reused Chunks]
>> + B -->|is not reusable entry| F(re-encode cached entries and current entry)
>> + F -->|caching disabled| A
>> + E -->|padding above threshold, non-continuous chunks, caching disabled| F
>> + E -->|padding above threshold, chunks continuous, caching enabled| A
>> + E -->|padding below threshold| G(force boundary, inject chunks, keepback last chunk for potential followup)
>> + G -->|caching enabled| A
>
> the caching enabled/disabled parts here are probably confusing (do those edges
> mean caching is enabled/disabled at that point? or are they taken if it is
> enabled/disabled?)
>
> but probably it makes sense to re-visit this in detail once the dust has settled :)
>
Yes agreed, will drop this patch for now and rethink on how to include
this better, or even move some of this into the documentation in text
form (although in a more user oriented fashion rather than dev oriented).
More information about the pbs-devel
mailing list