[pbs-devel] [PATCH v3 proxmox-backup 54/58] client: pxar: add flow chart for metadata change detection

Fabian Grünbichler f.gruenbichler at proxmox.com
Fri Apr 5 12:16:45 CEST 2024


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 :)

> +
> -- 
> 2.39.2
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
>




More information about the pbs-devel mailing list