mirror of https://github.com/pulumi/pulumi.git
60a10a6f8e
In #17047, we introduced a panic-like error banner for snapshot integrity issues. In #17144, we improved this to prompt users to provide information about the operation that *wrote* an invalid snapshot, should the error be encountered on a later *read*. In this commit, we take things one step further, persisting the writing command to the snapshot as metadata in the event that we are about to write an invalid snapshot. Should an error be encountered on a later read, we are now able to pluck the metadata out of the snapshot and include it in the error banner ourselves. This should hopefully further improve the situation when it comes to tracking down bugs in the engine. Note that, like all changes to snapshot persistence, new snapshot fields (in this case, the metadata we now collect) may be clobbered by older versions of the CLI. That is, if a latest-version CLI writes metadata, a version older than this commit may erase it, by virtue of ignoring data it does not understand during deserialization. While unfortunate, this is also useful information in the event a user raises an issue, since it (in theory) tells us that a version older than that containing this commit was involved in the process, which may help diagnosis. |
||
---|---|---|
.. | ||
backend.go | ||
backend_legacy_test.go | ||
backend_test.go | ||
bucket.go | ||
bucket_test.go | ||
doc.go | ||
lock.go | ||
meta.go | ||
meta_test.go | ||
pool.go | ||
pool_test.go | ||
snapshot.go | ||
stack.go | ||
state.go | ||
store.go | ||
store_test.go |