On May 7, 2013, at 4:25 PM, Yehuda Sadeh <yehuda@xxxxxxxxxxx> wrote: >> Responding to an old thread, but I've been thinking about this again lately. >> >> I agree it would be nice for an upstream cache to know when its content is invalid. I realized today that RGW already does this for itself--multiple gateways on the same RADOS cluster share cache state with each other by updating and rados_watch()ing the notify_oid's in the .rgw.control pool. > > Not quite. The gateway only caches metadata, not data. I don't think > doing it for data would make much sense, performance wise. If we only want to know when an object has changed (so we can invalidate it in our external cache), isn't the metadata sufficient? Presumably it changes whenever the data changes. If the external cache wants a fresh copy of the data it can request it directly; there's no need for the helper utility I have in mind to pass any actual object data. Is my idea of watching the (rados) control objects to learn about updates to rgw objects feasible? The watcher would just need to supply the outside cache with a key to identify the object that should be evicted--maybe the etag? -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html