I think I would prefer to not introduce the change I have proposed (the one 
that would bring back non-binary compatibility). I will wait a bit to see what 
other folks in the community think, but if we could just have a release note 
that anyone who happens to have their own custom query handler can implement, 
for sakes of code clarity for the rest of the community.

On Tue, Jul 30, 2024, at 6:38 PM, Jordan West wrote:
> If there is a quick fix for the interface issue as Alex is describing then I 
> am all for it. I think binary compatibility isn’t required here so the 
> compile time compat would be good enough. 
> 
> Otherwise I tend to agree that while it should be considered a public 
> interface we haven’t had a strict definition of those interfaces being so nor 
> have I seen it enforced in the past with e.g. compaction classes, 
> partitioners, topology strategies, or anywhere else it’s a class can be 
> injected. Not saying we never have but I haven’t seen us consistently do so 
> looking at the excerpt Alex provided. 
> 
> So in the case that it’s not a simple fix my vote would be continue with the 
> release and then start a discuss thread about increasing the scope of defined 
> public / stable interfaces. 
> 
> Jordan 
> 
> On Tue, Jul 30, 2024 at 08:53 Jon Haddad <j...@jonhaddad.com> wrote:
>> This patch fixes a long standing issue that's the root cause of availability 
>> failures.  Even though folks can specify a custom query handler with the -D 
>> flag, the number of users impacted by this is going to be incredibly small.  
>> On the other hand, the fix helps every single user of 4.1 that puts too much 
>> pressure on the cluster, which happens fairly regularly.  
>> 
>> My POV is that it's a fairly weak argument that this is a public interface, 
>> but I don't consider it worth debating whether it is or not, because even if 
>> it is, this improves stability of the database for all users, so it's worth 
>> going in.  Let's not be dogmatic about fixes that help 99% of users because 
>> an incredibly small number that actually implement a custom query handler 
>> will need to make a trivial update in order to use the latest 4.1.6 
>> dependency.
>> 
>> Jon
>> 
>> 
>> 
>> On Tue, Jul 30, 2024 at 8:09 AM J. D. Jordan <jeremiah.jor...@gmail.com> 
>> wrote:
>>> 
>>> Given we allow a pluggable query handler implementation to be specified for 
>>> the server with a -D during startup. So I would consider the query handler 
>>> one of our public interfaces.
>>> 
>>>> On Jul 30, 2024, at 9:35 AM, Alex Petrov <al...@coffeenco.de> wrote:
>>>> 
>>>> Hi Tommy,
>>>> 
>>>> Thank you for spotting this and bringing this to community's attention.
>>>> 
>>>> I believe our primary interfaces are native and internode protocol, and 
>>>> CLI tools. Most interfaces are used to to abstract implementations 
>>>> internally. Few interfaces, such as DataType, Partitioner, and Triggers 
>>>> can be depended upon by external tools using Cassandra as a library. There 
>>>> is no official way to plug in a QueryHandler, so I did not consider it to 
>>>> be a part of our public API. 
>>>> 
>>>> From [1]: 
>>>> 
>>>> > These considerations are especially important for public APIs, including 
>>>> > CQL, virtual tables, JMX, yaml, system properties, etc. Any planned 
>>>> > additions must be carefully considered in the context of any existing 
>>>> > APIs. Where possible the approach of any existing API should be 
>>>> > followed. 
>>>> 
>>>> Maybe we should have an exhaustive list of public APIs, and explicitly 
>>>> mention that native and internode protocols are included, alongside with 
>>>> nodetool command API and output, but also which classes/interfaces 
>>>> specifically should be evolved with care.
>>>> 
>>>> Thank you,
>>>> --Alex
>>>> 
>>>> [1] https://cassandra.apache.org/_/development/index.html
>>>> 
>>>> On Tue, Jul 30, 2024, at 10:56 AM, Tommy Stendahl via dev wrote:
>>>>> Hi,
>>>>> 
>>>>> There is a change in the QueryHandler interface introduced by 
>>>>> https://issues.apache.org/jira/browse/CASSANDRA-19534
>>>>> 
>>>>> Do we allow changes such changes between 4.1.5 and 4.1.6?
>>>>> CASSANDRA-19534 looks like a very good change so maybe there is an 
>>>>> exception in this case?
>>>>> 
>>>>> /Tommy
>>>>> 
>>>>> -----Original Message-----
>>>>> *From*: Brandon Williams <brandonwilli...@apache.org 
>>>>> <mailto:brandon%20williams%20%3cbrandonwilli...@apache.org%3e>>
>>>>> *Reply-To*: dev@cassandra.apache.org
>>>>> *To*: dev <dev@cassandra.apache.org 
>>>>> <mailto:dev%20%3c...@cassandra.apache.org%3e>>
>>>>> *Subject*: [VOTE] Release Apache Cassandra 4.1.6
>>>>> *Date*: Mon, 29 Jul 2024 09:36:04 -0500
>>>>> 
>>>>> Proposing the test build of Cassandra 4.1.6 for release.
>>>>> 
>>>>> sha1: b662744af59f3a3dfbfeb7314e29fecb93abfd80
>>>>> Git: 
>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fcassandra%2Ftree%2F4.1.6-tentative&data=05%7C02%7Ctommy.stendahl%40ericsson.com%7C30a819344e48491e561908dcafdbddf4%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638578606055937277%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=BWaJmvRTXvrMh%2FFBRzt%2FOost%2Bn6xAkgePP2ObtmTnbY%3D&reserved=0
>>>>> 
>>>>> Maven Artifacts:
>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Frepository.apache.org%2Fcontent%2Frepositories%2Forgapachecassandra-1339%2Forg%2Fapache%2Fcassandra%2Fcassandra-all%2F4.1.6%2F&data=05%7C02%7Ctommy.stendahl%40ericsson.com%7C30a819344e48491e561908dcafdbddf4%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638578606055947610%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=2baa1fUTwQqDpPtFAdv%2FFU6sqax3LSkKEm%2FUdbcHsbE%3D&reserved=0
>>>>> 
>>>>> 
>>>>> The Source and Build Artifacts, and the Debian and RPM packages and
>>>>> repositories, are available here:
>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdist.apache.org%2Frepos%2Fdist%2Fdev%2Fcassandra%2F4.1.6%2F&data=05%7C02%7Ctommy.stendahl%40ericsson.com%7C30a819344e48491e561908dcafdbddf4%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638578606055951106%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=9FUMT0F7c%2B0y7NbvgN9fQrSNgNO2YGfKMwk9ajy2MKA%3D&reserved=0
>>>>> 
>>>>> 
>>>>> The vote will be open for 72 hours (longer if needed). Everyone who
>>>>> has tested the build is invited to vote. Votes by PMC members are
>>>>> considered binding. A vote passes if there are at least three binding
>>>>> +1s and no -1's.
>>>>> 
>>>>> [1]: CHANGES.txt:
>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fcassandra%2Fblob%2F4.1.6-tentative%2FCHANGES.txt&data=05%7C02%7Ctommy.stendahl%40ericsson.com%7C30a819344e48491e561908dcafdbddf4%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638578606055954173%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=3u1LazTB3GixsR7MEwxT%2ByqMrnwHjBL72r8Vy0C1HhE%3D&reserved=0
>>>>> 
>>>>> [2]: NEWS.txt: 
>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fcassandra%2Fblob%2F4.1.6-tentative%2FNEWS.txt&data=05%7C02%7Ctommy.stendahl%40ericsson.com%7C30a819344e48491e561908dcafdbddf4%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638578606055957376%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=4TROx5HB5vJuLTYNoAqMx2A3%2FUUtZ3Edr6aa4JVvHEA%3D&reserved=0
>>>>> 
>>>>> 
>>>>> 
>>>>> Kind Regards,
>>>>> Brandon
>>>> 

Reply via email to