+1. Made changes to the design document linked against the CEP to reflect this feedback. Specifically, the following sections have been updated * Operations to blacklist * Blacklist information store
Thanks, Sumanth On Fri, Aug 27, 2021 at 7:57 AM Joshua McKenzie <jmcken...@apache.org> wrote: > I can see the case for all three: > * Deny both reads and writes to a partition (wide, heavily tombstones, too > many stables, etc) causing disruption to a replica set; don't want further > growth nor reads until operator intervention > * Deny reads but allow writing to rectify problems on a partition > (intervention window; see above) > * Deny writes to a partition but allow reads (prevent partitions growing > unbounded, or potentially evolving into a future feature creating a ceiling > on partition sizes that kicks in and demands application intervention to > reduce partition size at a guardrail limit) > > So yeah, at least to me at face value it seems like it'd be worth it not > only to allow denylisting both reads and writes, but to be able to choose > from the set of reads|writes|both on a per-partition basis. > > ~Josh > > > On Thu, Aug 26, 2021 at 2:16 PM Sumanth Pasupuleti < > sumanth.pasupuleti...@gmail.com> wrote: > > > Thank you, Josh for the elaborate explanation of a potential scenario > where > > denylisting writes would make sense. > > I, 100% agree that could benefit in a situation where we would want to > deny > > writes to a partition that we do not have much control on (which is true > in > > most situations) and such behavior can eventually lead to unavailability > of > > other partitions too, as you indicate. > > > > Do you think it makes sense to make it configurable per partition though? > > As in, maybe by default, we would want to deny both reads and writes to a > > partition, but for certain partitions, we may still want to allow writes > > just so we can issue a delete against that partition as an example. > > Ofcourse this would make the feature and the interface more heavy, and we > > need to think through if its worth it. I personally feel it could be > worth > > it, especially if we agree on the default behavior that makes the > interface > > simple in most cases. Thoughts? > > > > And yes, so good to see CEP process reaping benefits in multiple ways - > > especially around collaboration and documentation. > > > > > > On Thu, Aug 26, 2021 at 8:31 AM Joshua McKenzie <jmcken...@apache.org> > > wrote: > > > > > The design doc and CEP currently pass on blocklisting / denylisting > > writes > > > at this time. In the proposed new patch it states: > > > "Note: We do not want to blacklist writes since it is the reads that > > > primarily impact the performance when reading a bad partition, and we > may > > > want writes to be allowed to “fix” a bad partition. We could revisit > this > > > in the future" > > > > > > In situations where you have an air gap between database ops and > > > application access (ops <> application teams, or more autonomous > > > application access patterns, self-service, etc), you can easily get > into > > a > > > situation where you have either a pathological client hammering writes > > to a > > > specific partition causing impact to other clients or in the worst > case, > > > the replica set, or unbounded partition growth that again leads to > > > performance degradation or replica set unavailability. The tradeoff > there > > > becomes "do we interrupt the application's ability to write to this > > > partition now, or do we instead defer and risk losing access to *all* > > > partitions on this replica set and still interrupt their access > > eventually > > > anyway?" > > > > > > Given this, I strongly advocate for support of denylisting both reads > > *and* > > > writes on these grounds; operators need another tool in their toolbox > to > > > deal with situations where specific partition writing has wider > negative > > > impacts on the replicas. > > > > > > Acknowledging of course that there was extensive discussion on this > back > > in > > > 2018, and that would have been a *great* time to engage in the > > discussion. > > > =/ Good thing we have this new CEP process! :) > > > > > > Curious what you think about this perspective Sumanth. > > > > > > ~Josh > > > > > > > > > On Tue, Aug 17, 2021 at 2:04 PM Joshua McKenzie <jmcken...@apache.org> > > > wrote: > > > > > > > Certainly. I'll take on distilling a high level view of the feature > > from > > > > what Jon and I are working on to bring to this discussion. > > > > > > > > > > > > On Tue, Aug 17, 2021 at 1:40 PM Sumanth Pasupuleti < > > > > sumanth.pasupuleti...@gmail.com> wrote: > > > > > > > >> +1 to collaborating on the patch, Josh. My 2 cents would be to > > continue > > > to > > > >> pursue this CEP in the community through Discuss and Vote phases and > > > then > > > >> invest further on the patch (based on the Vote phase outcome), so we > > can > > > >> reflect any additional feedback we may gather from the community > > through > > > >> this CEP. > > > >> > > > >> Thanks, > > > >> Sumanth > > > >> > > > >> On Tue, Aug 17, 2021 at 10:13 AM Joshua McKenzie < > > jmcken...@apache.org> > > > >> wrote: > > > >> > > > >> > Sumanth, > > > >> > > > > >> > Jon Meredith and I are recently working on an OSS patch of one of > > > those > > > >> "ad > > > >> > hoc" implementations of this feature that's been running at scale > > for > > > >> > awhile like Jirsa mentioned; sorry for not catching the discussion > > on > > > >> > https://issues.apache.org/jira/browse/CASSANDRA-12106 and > engaging > > > >> > earlier! > > > >> > > > > >> > I believe I can have a tidied up patch on 4.0 of this by early > next > > > >> week - > > > >> > then we can look at the two implementations and take best of both. > > > What > > > >> do > > > >> > you think? > > > >> > > > > >> > ~Josh > > > >> > > > > >> > On Mon, Aug 16, 2021 at 2:14 PM Sumanth Pasupuleti < > > > >> > sumanth.pasupuleti...@gmail.com> wrote: > > > >> > > > > >> > > Starting a discussion thread for CEP-13 > > > >> > > > > > >> > > > > > >> > > > > >> > > > > > > https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-13%3A+Denylisting+partitions > > > >> > > > > > >> > > This CEP proposes adding a new feature to Cassandra to be able > to > > > >> > denylist > > > >> > > partitions. > > > >> > > > > > >> > > Looking forward to any feedback/ thoughts. > > > >> > > > > > >> > > Thanks, > > > >> > > Sumanth > > > >> > > > > > >> > > > > >> > > > > > > > > > >