Prior to pushing a new release I deleted some of the test releases that were no longer used. I found a thread on this forum describing how to do this with a curl to https://api.balena-cloud.com/v6/release API. I am mentioning this because it feels related to the problem I am having.
After pushing the new release, I am failing to download an image delta:
Downloading delta for image 'registry2.balena-cloud.com/v2/44b757933e5cda7f07d430227148a4c6@sha256:2d9bb32a42dd40913ee4d5d370d79a1dab12711ac3ab43f091c9d1d1b792f838'
Failed to download image 'registry2.balena-cloud.com/v2/44b757933e5cda7f07d430227148a4c6@sha256:2d9bb32a42dd40913ee4d5d370d79a1dab12711ac3ab43f091c9d1d1b792f838' due to 'failed to get digest sha256:d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: open /var/lib/docker/image/overlay2/imagedb/content/sha256/d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: no such file or directory'
A more verbose log from balena-supervisor:
Dec 17 12:46:13 e7474a7 balena-supervisor[6753]: [debug] delta([cashier] registry2.balena-cloud.com/v2/aff5b12bcde25bb3c9bd9f7c94972fbd@sha256:93d396d2b153ebf3865736245baa6801624b6be299ae08a1f4e559fab8c42b53): Delta failed with Error: failed to get digest sha256:d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: open /var/lib/docker/image/overlay2/imagedb/content/sha256/d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: no such file or directory
Dec 17 12:46:13 e7474a7 balena-supervisor[6753]: [event] Event: Image download error {"error":{"message":"failed to get digest sha256:d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: open /var/lib/docker/image/overlay2/imagedb/content/sha256/d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: no such file or directory","stack":"Error: failed to get digest sha256:d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: open /var/lib/docker/image/overlay2/imagedb/content/sha256/d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999: no such file or directory\n at Stream.<anonymous> (/usr/src/app/dist/app.js:10:2307907)\n at Stream.emit (events.js:310:20)\n at drain (/usr/src/app/dist/app.js:2:304229)\n at Stream.stream.queue.stream.push (/usr/src/app/dist/app.js:2:304636)\n at Parser.parser.onToken (/usr/src/app/dist/app.js:10:255724)\n at Parser.proto.write (/usr/src/app/dist/app.js:10:703427)\n at Stream.<anonymous> (/usr/src/app/dist/app.js:10:254188)\n at Stream.stream.write (/usr/src/app/dist/app.js:2:304505)\n at IncomingMessage.ondata (_stream_readable.js:695:22)\n at IncomingMessage.emit (events.js:310:20)\n at addChunk (_stream_readable.js:286:12)\n at readableAddChunk (_stream_readable.js:268:9)\n at IncomingMessage.Readable.push (_stream_readable.js:209:10)\n at HTTPParser.parserOnBody (_http_common.js:132:24)\n at Socket.socketOnData (_http_client.js:476:22)\n at Socket.emit (events.js:310:20)"},"image":{"name":"registry2.balena-cloud.com/v2/198bb4c45c329e388d5689fbb811f0ad@sha256:6f8fb5a534819274781bfa1b397152c5136fb1b71ddaa7fe0147bf00f24726e5","appId":1875486,"serviceId":1347202,"serviceName":"cashier","imageId":4355837,"releaseId":2014621,"dependent":0,"dockerImageId":null}}
I can see that indeed the digest is missing at /var/lib/docker/image/overlay2/imagedb/content/sha256/d0b01ad7854dad329240089c2e8894e8813610ebdaf87274ee44af3bbf3fc999
. How can I force a re-download of this or what other steps one should take to fix this broken state?