Re: [EXTERNAL] Re: Bucket Notifications v2 & Multisite Redundancy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



just to see that i got it right. you are  asking to disable the topic and
notification replication. as you want to send to different topics based on
the zone that got the update to the bucket?

* one option is to disable "notifications_v2" on the zonegroup. but, this
is probably not a good idea - there are other benefits to v2, and the v1
format will be deprecated eventually.
* if you can control the client apps on each site, maybe you can add a
metadata attribute (e.g. z-amz-...) to the requests (or maybe you already
have one?) and filter the notifications based on that attribute?

* please consider submitting a tracker for adding a "replication" flag to
the notification configuration. so we can disable the replication (without
disabling v2 notifications) on a granular level




On Mon, Sep 16, 2024 at 1:18 PM Alex Hussein-Kershaw (HE/HIM) <
alexhus@xxxxxxxxxxxxx> wrote:

> Following up on this, I've run into another issue during my prototyping. I
> have two Ceph Clusters, with a zone each, sharing a zonegroup and realm. I
> have a local application to each, that needs informed of replication
> changes.
>
> So I've created a topic and notification per site. Given the
> notification_v2 feature, these are replicated and both sites are aware of
> both topics and both notifications. I'm testing by writing to the bucket on
> the "siteA" Cluster, and I can see Replication:Create events pushed to both
> topics on the "siteB" Cluster.
>
> However, therein lies my problem; I don't  want the Ceph Cluster on siteB
> to attempt to notify siteA of the replication (in-fact it can't route to it
> in the network at all, so it fails, and a queue builds up, which will
> eventually block subsequent writes if not dealt with). I think this is new
> in the notification_v2 feature, as a side-effect of the notifications being
> multisite.
>
> I had a look into filtering rules to see if there was a way to say filter
> by events in a specific zone, but didn't find anything. Is there a solution
> to this? Any suggestions very welcome 🙂
>
> Kind regards,
> Alex
>
> ------------------------------
> *From:* Yuval Lifshitz <ylifshit@xxxxxxxxxx>
> *Sent:* Tuesday, September 3, 2024 2:56 PM
> *To:* Alex Hussein-Kershaw (HE/HIM) <alexhus@xxxxxxxxxxxxx>
> *Cc:* ceph-users <ceph-users@xxxxxxx>
> *Subject:* Re: [EXTERNAL] Re:  Bucket Notifications v2 &
> Multisite Redundancy
>
> responded inline
>
> On Tue, Sep 3, 2024 at 3:05 PM Alex Hussein-Kershaw (HE/HIM) <
> alexhus@xxxxxxxxxxxxx> wrote:
>
> Hi Yuval,
>
> Thanks for the response. I did managed to disable the feature, however I
> hope you can understand my hesitancy to design our move away from pubsub
> onto a deprecated replacement (i.e. "notifications v1").
>
>
> > agree. notification v2 provides better observability, e.g. list of
> buckets that use topic etc.
>
>
> The difference between this and the other operations that require
> forwarding to the master site, for me, is that I don't rely on any of those
> operations for day-to-day function. For example, S3 user creation I do at
> deployment time and never again; so if I lose the ability to do that in the
> event of a site failure that's OK. Perhaps I just need to implement a
> process to ensure the remaining zone is quickly promoted on a site failure.
>
>
> > this is probably the correct approach in multisite
>
>
> A further concern of the new feature... My intention is to use the bucket
> notification feature to send events generated by the multisite sync to my
> application server. If the topic is now multisite, will all kicks be
> duplicated? For example consider:
>
> SiteA receives an S3 write for object
> SiteA writes to the event queue and asynchronously delivers the event
> SiteB syncs object from siteA
>
>
> we do not send regular notifications upon sync.
> note that we have other type of notifications:
> s3:ObjectSynced:*/s3:Replication:* that are sent only when an object is
> synced
>
>
> SiteB writes to the event queue and asynchronously delivers the event
>
> Really I only want the second event in this example, which is what I get
> with the pubsub module, and I think is what I will get with
> "notifications_v1".
>
> Best Wishes,
> Alex
> ------------------------------
> *From:* Yuval Lifshitz <ylifshit@xxxxxxxxxx>
> *Sent:* Tuesday, September 3, 2024 12:15 PM
> *To:* Alex Hussein-Kershaw (HE/HIM) <alexhus@xxxxxxxxxxxxx>
> *Cc:* ceph-users <ceph-users@xxxxxxx>
> *Subject:* [EXTERNAL] Re:  Bucket Notifications v2 &
> Multisite Redundancy
>
> Hi Alex,
> It should be possible to disable the v2 feature through an admin command.
> radosgw-admin onegroup modify --disable-feature=notification_v2
>
> Also note that when creating a new squid cluster, v2 is enabled by
> default. But, when upgrading an existing cluster, you need to call:
> radosgw-admin onegroup modify --enable-feature=notification_v2
> to enable v2.
>
> However, we do encourage moving to v2, as there are many benefits to the
> new data model (besides site syncing).
>
> Regarding the problem you encountered when the "master" site is down, how
> is this different from other operations that are forwarded to "master"?
>
> Yuval
>
> On Tue, Sep 3, 2024 at 11:31 AM Alex Hussein-Kershaw (HE/HIM) <
> alexhus@xxxxxxxxxxxxx> wrote:
>
> Hi Folks,
>
> I see in the pending release notes for Squid a description of the
> "notification_v2" feature.
> ceph/PendingReleaseNotes at main · ceph/ceph (github.com)<
> https://github.com/ceph/ceph/blob/main/PendingReleaseNotes#L43>
>
> I have some concerns about the multisite nature of this feature, I am
> using Ceph multisite to provide geographic redundancy for my application
> data. That seems to be a mainline use case. My application is designed to
> cope if an entire zone fails.
>
> My application currently relies on pubsub (and soon to be replaced by
> bucket notifications) to provide service. More specifically I rely on the
> ability to semi-regularly automatically reconfigure topics to adjust the
> HTTP endpoint.
>
> I believe with the "notification_v2" feature all adjustments of the topic
> are routed through the master for metadata site (much like creating an S3
> user). Fundamentally I think this breaks the combination of Ceph multisite,
> notifications_v2 and reconfiguring a topic; you cannot reconfigure a topic
> unless both sites are up.
>
> I tested this, by setting up a deployment, shutting down a site and trying
> to reconfigure a topic. I get a 500 HTTP response to my createTopic, and
> can see this in the RGW logs:
> debug 2024-09-03T08:24:39.997+0000 7f53a3372640 20 ERROR: curl error:
> Couldn't connect to server req_data->error_buf=Failed to connect to
> 10.225.20.19 port 7480: No route to host
> debug 2024-09-03T08:24:39.997+0000 7f5329a7f640  4 req 2968544598970267460
> 0.686004043s sns:pubsub_topic_create CreateTopic forward_request_to_master
> returned ret = -2200
>
> Have the implications of this been considered? For now I may be able to
> disable the notifications_v2 feature, however in the release note the
> predecessor is deprecated in Squid. Hopefully I'm missing something obvious.
>
> Kind regards,
> Alex
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx
>
>
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux