On Fri, Jun 16, 2023 at 5:13 PM Casey Bodley <cbodley(a)redhat.com> wrote:
On Fri, Jun 16, 2023 at 3:21 AM Jiffin Thottan <jthottan(a)redhat.com> wrote:
Hi,
I am planning to support read localise feature for RGW servers similar to what RBD
volumes support. From code reading, it looks to pass
"librados::OPERATION_LOCALIZE_READS" before sending the request to RADOS. I
have created a tracker issue for this feature
https://tracker.ceph.com/issues/61701, this
will be per server config option. I don't know about any other technical hurdles in
implementing this feature. Please share your thoughts on the same.
Thanks and regards,
Jiffin
thanks Jiffin,
that sounds simple enough, though rgw issues librados reads in many
different places that would need to manage this flag
i'm curious why this is a per-op flag, rather than a global librados
setting. is there a reason that rgw would only want *some* of its
reads localized? are there any implications for read-after-write
consistency that we need to worry about here?
Hi Casey,
I'm not aware of any read-after-write or other consistency
implications. Read-from-replica is safe for general use since Octopus
(OSD-side issues were fixed in [1]).
Ultimately all flags are per-op. The reason that there is no global
librados setting for BALANCE_READS and LOCALIZE_READS seems to be
a combination of a) the fact that these flags could only be used in
special circumstances in the past and b) the fact that librados doesn't
have a generic API for applying a given flag globally like it does for
applying a given snapshot ID/context to all reads/writes.
[1]