Andrew Zonenberg on Nostr: New bug: it appears the write of A to cc8b committed, but the prior write of B to ...
New bug: it appears the write of A to cc8b committed, but the prior write of B to cc8a did not, leading to an inconsistent state where abs(A-B) != 1 (the two values are supposed to be leapfrogging with one always incrementing by two above the other).
This seems to be triggered by an uncorrectable ECC error during a compact operation.
I'm not yet sure how I want to handle this and will need to dump the flash to be sure. One possible option is to, during a compact, ignore all log entries newer than a corrupted entry? That would provide a clean rollback but risks losing data.
Better question is why I wrote cc8b if cc8a hadn't committed fully. Going to have to look at the flash and debug a bit to see what's going on.
Published at
2024-06-21 20:31:13Event JSON
{
"id": "b5f154311cf6af7a0d89c7f93aa49a07fdce6057380778e30a39b80f19488abe",
"pubkey": "70517381ab3c382310e957f900da12ab82d4ba917641561da3f7fe00c57e52db",
"created_at": 1719001873,
"kind": 1,
"tags": [
[
"imeta",
"url https://files.ioc.exchange/media_attachments/files/112/656/498/707/424/373/original/a956fdda3d3b6745.png",
"m image/png"
],
[
"proxy",
"https://ioc.exchange/@azonenberg/112656506807605044",
"web"
],
[
"proxy",
"https://ioc.exchange/users/azonenberg/statuses/112656506807605044",
"activitypub"
],
[
"L",
"pink.momostr"
],
[
"l",
"pink.momostr.activitypub:https://ioc.exchange/users/azonenberg/statuses/112656506807605044",
"pink.momostr"
],
[
"expiration",
"1721622678"
]
],
"content": "New bug: it appears the write of A to cc8b committed, but the prior write of B to cc8a did not, leading to an inconsistent state where abs(A-B) != 1 (the two values are supposed to be leapfrogging with one always incrementing by two above the other).\n\nThis seems to be triggered by an uncorrectable ECC error during a compact operation.\n\nI'm not yet sure how I want to handle this and will need to dump the flash to be sure. One possible option is to, during a compact, ignore all log entries newer than a corrupted entry? That would provide a clean rollback but risks losing data.\n\nBetter question is why I wrote cc8b if cc8a hadn't committed fully. Going to have to look at the flash and debug a bit to see what's going on.\nhttps://files.ioc.exchange/media_attachments/files/112/656/498/707/424/373/original/a956fdda3d3b6745.png\n",
"sig": "cb2fa64ee787cffb1b9c2ae99ecb373096e8d4574d6c6d1d9f2ad935e5580971bed22d9cd65af07f74a8830e66e4cb2caea4699df5cc059424059041b54c3ef6"
}