Atomic Test And Set Of Disk Block Returned False For Equality Today
When you see "returned false for equality," it means the "Test" part of "Test and Set" failed. Common triggers include:
Example in x86 assembly:
When you see this exact message, it means: When you see "returned false for equality," it
| Cause | Explanation | |-------|-------------| | | Another process/thread modified the block between your read and your test-and-set. | | Stale read | You read the block earlier, but it changed before you attempted the update. | | Corruption | Disk bit rot or hardware fault altered the block without a logical write. | | Recovery replay | A journal or log replay changed the block after you cached its old value. | | Wrong expected value | Bug in code: you supplied an incorrect “old” content. |
When this contract breaks, data consistency shatters. | | Corruption | Disk bit rot or
:
When you see atomic test-and-set of disk block returned false for equality in your logs, one of the following five scenarios is almost certainly responsible. | When this contract breaks, data consistency shatters
Certain arrays may have issues correctly processing the SCSI COMPARE_AND_WRITE command used for ATS. Impact on the Environment This error is rarely benign and often leads to: ESXi host HBAs offline - Broadcom support portal
for concurrent SCSI errors or "Valid sense data: 0xe 0x1d 0x0," which often accompanies ATS failures. Engage Storage Vendor
A classic storage failure. The database issues a 16KB write, but the OS, file system, or disk only writes 8KB before a power loss or kernel panic. The block is corrupted. When the database restarts and reads the block, the version number is garbage, making the equality comparison fail.
