Right, we do have "custom_query_handler_class". I was under impression it was used for testing, but checked the history, and it was around for a while, so it might have been used outside tests too.
In this case we have 2 options: * to convert the new method in the interface to a "default" method that would call the previously existing `long` overload (see attached diff); this will work for compile-time dependencies, but will not be binary-compatible with anyone who compiled against the older version. * make a vote on the dev mailing list querying if anyone is actually using this param, and remove it Unfortunately, I can not immediately see a good way to provide the critical bugfix of CASSANDRA-19534 <https://issues.apache.org/jira/browse/CASSANDRA-19534>, affecting all Cassandra users, without making at least some change in this API. I personally think that this method is very tightly coupled to the implementation to expose it via -D. If anyone using it could provide some context about why it is an important part of API, it would be give some useful context. On Tue, Jul 30, 2024, at 5:08 PM, J. D. Jordan 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 >>
patch.diff
Description: Binary data