[RELEASE] Apache Cassandra Java Driver 3.12.1 released

2025-01-24 Thread Bret McGuire
The Cassandra team is pleased to announce the release of Cassandra Java Driver version 3.12.1. This is the first release of the 3.x Java driver to contain new functionality since its donation to the Apache Software Foundation. The Source release and Binary convenience artifacts are available her

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Štefan Miklošovič
How are we going to document what each of 112 missing properties is doing and / or exclude them from cassandra.yaml? There are a lot of properties which just don't ring a bell exactly what they are for. I think we should create a basic table and document what each is for and what is the decision ab

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread David Capwell
So if you forget to update cassandra.yaml you fail the build? Makes sense to me. One additional thing I would like to see is the reverse… did you put something in yaml that isn’t in Config? This is a bug I have seen a few times…. Mostly because people don’t know the rules from SnakeYAML so ar

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Bernardo Botella
Love the suggestion of marking the hidden/advanced configuration properties with annotations. Leaving a “configuration” property out of the main configuration file should be deliberate and well thought and argued. I highly doubt we have 112 “advanced” properties that really need to be hidden to

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Bernardo Botella
Love the suggestion of marking the hidden/advanced configuration properties with annotations. Leaving a “configuration” property out of the main configuration file should be deliberate and well thought and argued. I highly doubt we have 112 “advanced” properties that really need to be hidden to

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Dmitry Konstantinov
https://issues.apache.org/jira/browse/CASSANDRA-20249 On Fri, 24 Jan 2025 at 15:40, Dmitry Konstantinov wrote: > Maybe I missed some patterns but it looks like a pretty good estimation, I > did like 10 random checks manually to verify :-) > I will try to make an ant target with a similar logic (

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Dmitry Konstantinov
Maybe I missed some patterns but it looks like a pretty good estimation, I did like 10 random checks manually to verify :-) I will try to make an ant target with a similar logic (hopefully, during the weekend) I will create a ticket to track this activity (to share attachments there to not overload

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Štefan Miklošovič
Oh my god, 112? :DD I was thinking it would be less than 10. Anyway, I think we need to integrate this to some ant target. If you expanded on this, that would be great. On Fri, Jan 24, 2025 at 4:31 PM Dmitry Konstantinov wrote: > A very primitive implementation of the 1st idea below: > > String

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Dmitry Konstantinov
A very primitive implementation of the 1st idea below: String configUrl = "file:///Users/dmitry/IdeaProjects/cassandra-trunk/conf/cassandra.yaml"; Field[] allFields = Config.class.getFields(); List topLevelPropertyNames = new ArrayList<>(); for(Field field : allFields) { if (!Modifier.isStatic

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Štefan Miklošovič
It should also work the other way around. If there is a property which is commented out in yaml and it is not in Config.java, that should fail as well. If it is not commented out and it is not in Config.java, that will fail in runtime as it fails on unrecognized property. This will be used in prac

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Paulo Motta
> > If "# my_cool_property: true" is NOT in cassandra.yaml, we might indeed add it, also commented out. I think it would be quite easy to check against yaml if there is a line starting on "# my_cool_property" or just on "my_cool_property". Both cases would satisfy the check. Makes sense, I think

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Josh McKenzie
+1 to making hidden properties explicit. No way to tell whether it's a mistake or not atm. On Fri, Jan 24, 2025, at 9:36 AM, Štefan Miklošovič wrote: > > > On Fri, Jan 24, 2025 at 3:27 PM Paulo Motta wrote: >> > from time to time I see configuration properties in Config.java and they >> > are

Re: [DISCUSS] Bracing style on trunk

2025-01-24 Thread Ariel Weisberg
Hi, I do not care what bracing style we use. I do have a preferred one, but I don't care which one we use. I hate that we have check style, but not a gofmt equivalent. I would take any amount of churn pain to have a gofmt equivalent so I could stop thinking about style. I would not want the c

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Štefan Miklošovič
On Fri, Jan 24, 2025 at 3:27 PM Paulo Motta wrote: > > from time to time I see configuration properties in Config.java and they > are clearly not in cassandra.yaml. Not every property in Config is in > cassandra.yaml. I would like to know if there is some specific reason > behind that. > > I thin

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Ekaterina Dimitrova
Same understanding here - the goal of property being presented in Config but not cassandra.yaml was to keep those hidden from regular users aka - advanced config. Also, in some cases I was told some of those did not have a clear recommendation yet how to use them, one more reason to be hidden. I t

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Dmitry Konstantinov
Hi, I've just thought about the same as Stefan - can we automate this consistency check.. (the topic is actually triggered by our recent review). I definitely saw some other existing options which are available in Config but not mentioned in cassandra.yaml. The case with intentionally hidden option

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Paulo Motta
> from time to time I see configuration properties in Config.java and they are clearly not in cassandra.yaml. Not every property in Config is in cassandra.yaml. I would like to know if there is some specific reason behind that. I think one of the original reasons was to "hide" advanced configs tha

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Brandon Williams
I wouldn't oppose making things more well defined there. Kind Regards, Brandon On Fri, Jan 24, 2025 at 8:22 AM Štefan Miklošovič wrote: > > If that is the case, we could have something like this? > > @HiddenInYaml > public boolean auto_bootstrap = true; > > Then a build-time check would

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Štefan Miklošovič
If that is the case, we could have something like this? @HiddenInYaml public boolean auto_bootstrap = true; Then a build-time check would parse Config.java on these annotations etc and skip that if it is not in yaml. It is OK if we decide not to expose but we should have some basic overv

Re: [DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Brandon Williams
I think those are things we've decided we don't want to expose to the average user, like auto_bootstrap. Kind Regards, Brandon On Fri, Jan 24, 2025 at 8:16 AM Štefan Miklošovič wrote: > > Hello, > > from time to time I see configuration properties in Config.java and they are > clearly not in ca

[DISCUSS] synchronisation of properties between Config.java and cassandra.yaml

2025-01-24 Thread Štefan Miklošovič
Hello, from time to time I see configuration properties in Config.java and they are clearly not in cassandra.yaml. Not every property in Config is in cassandra.yaml. I would like to know if there is some specific reason behind that. Question related to that is if we could not have a build-time ch

Re: What branches should perf fixes be targeting

2025-01-24 Thread Mick Semb Wever
I think the status quo here extends to: operational issues and performance regressions can be considered like bugs in this context, and patches that are very isolated and deemed safe by any pmc member with experience in that area of the code can approve it on the ticket without it going to the mail