Message ID | 20230928182616.17453-1-JPEWhacker@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v2] overview: Add note about non-reproducibility side effects | expand |
Hi Joshua Many thanks for the update. Roland, Ulrich, thanks for the reviews too! On 28.09.23 at 20:26, Joshua Watt wrote: > Adds an additional note about some of the side effects that can occur if > recipes are not reproducible and hash equivalence is enabled. > > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> > --- > documentation/overview-manual/concepts.rst | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst > index af825a98c..4e3f6425a 100644 > --- a/documentation/overview-manual/concepts.rst > +++ b/documentation/overview-manual/concepts.rst > @@ -1963,6 +1963,15 @@ task output from the Shared State cache. > the stability of the task's output hash. Therefore, the effectiveness > of Hash Equivalence strongly depends on it. > > + Recipes that are not reproducible may have undesired behavior if hash > + equivalence is enabled, since the non-reproducible diverging output maybe be > + remapped to an older sstate object in the cache by the server. Wouldn't it be very unlikely to have the same output hash anyway? > If a recipe > + is non-reproducible in trivial ways, such as different timestamps, this is > + likely not a problem. However recipes that have more dramatic changes (such > + as completely different file names) will likely outright fail since the > + downstream sstate objects are not actually equivalent to what was just > + built. > + Anyway Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com> and merged into master-next. Thanks again Michael.
diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst index af825a98c..4e3f6425a 100644 --- a/documentation/overview-manual/concepts.rst +++ b/documentation/overview-manual/concepts.rst @@ -1963,6 +1963,15 @@ task output from the Shared State cache. the stability of the task's output hash. Therefore, the effectiveness of Hash Equivalence strongly depends on it. + Recipes that are not reproducible may have undesired behavior if hash + equivalence is enabled, since the non-reproducible diverging output maybe be + remapped to an older sstate object in the cache by the server. If a recipe + is non-reproducible in trivial ways, such as different timestamps, this is + likely not a problem. However recipes that have more dramatic changes (such + as completely different file names) will likely outright fail since the + downstream sstate objects are not actually equivalent to what was just + built. + This applies to multiple scenarios: - A "trivial" change to a recipe that doesn't impact its generated output,
Adds an additional note about some of the side effects that can occur if recipes are not reproducible and hash equivalence is enabled. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> --- documentation/overview-manual/concepts.rst | 9 +++++++++ 1 file changed, 9 insertions(+)