What is the difference between Consistency level Read-after-new-write and Available?
Applies to
NetApp StorageGRID
Answer
WARNING Bucket consistency "Available" is NOT recommended for ONTAP FabricPool as it may cause user data inconsistencies. |
For pre-11.5.0.3 release:
Available (eventual consistency for HEAD operations) Behaves the same as the Read-after-new-write consistency level, but only provides eventual consistency for HEAD operations. Offers higher availability for HEAD operations than Read-after-new-write if Storage Nodes are unavailable. Differs from Amazon S3 consistency guarantees for HEAD operations only.
For post-11.5.0.3 release:
Note: From 11.5.0.3, non-existent GET matches to HEAD to return 404 when bucket consistency is set to Available
Behaves the same as the Read-after-new-write consistency level, but provides eventual consistency for HEAD and GET operations. Offers higher availability for HEAD and GET operations than Read-after-new-write if Storage Nodes are unavailable. Differs from Amazon S3 consistency guarantees for HEAD and GET operations.
Additional Information
Changing the consistency level
Starting in 11.5, a customer can detect if one or more applications are doing non-existent reads via metrics. If this metrics indicates frequent use of non-existent reads (eg, once every few minutes), this is a good indication they should change from Read-after-new-write to Available so that they can tolerate one node down. This assumes the application does not require read-after-write consistency. To identify the exact bucket or tenant performing non-existent reads requires further log analysis or discussions with application owners as the metric does not include bucket/tenant information.
storagegrid_s3_requests_total{operation=~"get_object|head_object",code="404"}