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
>> <brandon%20williams%20%3cbrandonwilli...@apache.org%3e>>
>> *Reply-To*: dev@cassandra.apache.org
>> *To*: dev <dev@cassandra.apache.org
>> <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